指定一个向量作为$ index函数中的参数传递

时间:2014-12-12 02:34:03

标签: r indexing

第一次发帖提问

我的问题是调试我使用$ 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向量的内容?

1 个答案:

答案 0 :(得分:2)

只需使用data[[column_name]]即可。据我所知,你不能使用变量值的$运算符。

请参阅本页半途中的$部分:http://adv-r.had.co.nz/Subsetting.html