簡體   English   中英

如何遍歷像列名這樣的字符串?

[英]How do I loop through strings like they're column names?

樣例代碼

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

我想遍歷columnNames並打印它們的值。 基本上,我希望獲得與輸入控制台df$col1df$col2相同的值。 我怎么做?

[接受字符串,而$則不。

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

也可以看看:

> fortunes::fortune(343)

大多數R初學者遲早都會被這個太方便的捷徑所咬。 作為R的新手,請將R視為您的銀行帳戶:過度使用$提取會導致不良后果。 最好盡早養成“ [[”和“ [”習慣。 -Peter Ehlers(關於$提取的使用)R-help(2013年3月)

正如@Buckminster指出的, [也已向量化,您可能不需要循環:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM