如何循环遍历字符串,就像它们是列名?

时间:2015-04-08 18:27:40

标签: r

示例代码

df <- read.csv('datafile.csv')
columnNames <- c('col1','col2')

我想循环遍历columnNames并打印他们的值。基本上,如果我进入控制台df$col1df$col2,我希望获得相同的值。我该怎么做?

1 个答案:

答案 0 :(得分:3)

[需要字符串,其中$没有。

for (cname in names(mtcars)) {
    print(mtcars[, cname])
}

另见:

> fortunes::fortune(343)
  

大多数R初学者迟早都被这个太方便的捷径所咬。作为R新手,想想R   作为您的银行帐户:过度使用$ -extraction会导致不良后果。获得最好的是最好的   &#39; [&#39;和&#39; [&#39;习惯早。 - Peter Ehlers(关于$ -extraction的使用)         R-help(2013年3月)

正如@Buckminster指出的,[也是矢量化的,你可能不需要循环:

cols = c("mpg", "disp", "cyl")
mtcars[, cols]