第一次发帖提问
我的问题是调试我使用$ index函数
的问题下面的函数有希望循环遍历一组.csv文件,并将“column_name”的向量组合成x,然后我将获得x的平均值。
overall_mean <- function(directory, column_name, id = ) {
filenames <- list.files(directory, full.names = TRUE)
x <- as.numeric()
for (i in id) {
data <- read.csv(filenames[i])
x <- c(x, as.numeric(data$column_name)) #herein lies the problem
}
mean(x)
}
我想把这个函数称为:
overall_mean ('the directory on my computer', emoout, 1:10)
当我调试函数时,我可以看到一切正常,直到x <- data$column_name
,其中X保持为空。
到目前为止我对这个问题的探索:
当我输入以下内容时
data$emoout
我按预期得到了一个字符串向量。
当我输入以下内容时
column_name <- emoout
data$column_name
我得到一个空结果。
显然是因为我不明白$函数是如何工作的。是否有一些技巧让$识别我想索引column_name向量的内容?
答案 0 :(得分:2)
只需使用data[[column_name]]
即可。据我所知,你不能使用变量值的$
运算符。
请参阅本页半途中的$
部分:http://adv-r.had.co.nz/Subsetting.html