示例代码
df <- read.csv('datafile.csv')
columnNames <- c('col1','col2')
我想循环遍历columnNames
并打印他们的值。基本上,如果我进入控制台df$col1
或df$col2
,我希望获得相同的值。我该怎么做?
答案 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]