1

我是 R 的新手(和 stackoverflow 也是),所以请原谅任何可能的愚蠢!

我写了一个函数

     getvariance <-function(data, column)

column返回 in中值的方差data

在我写的函数中

    mydata = read.csv(data)
    for i=1:datasize {
      x=(mydata$column)[i]
      //compute variance of x
    }

当我打电话

     getvariance("randomnumbers.csv", X1)

x 作为空值列返回。

但是,当我简单地写

     x=(mydata$X1[i])

它用数值打印整列。

谁能帮我理解mydata$column[i]当列是函数的参数时为什么不起作用?

提前致谢。

4

1 回答 1

0

您正在尝试访问data$column而不是data$X1.

data <- data.frame(X1=1:3)
data$X1
## [1] 1 2 3
data$column
## NULL

而是尝试实际访问名为 X1 的列,如下所示:

fct <- function(data, column){
  data[,column]
}
fct(data, "X1")
## [1] 1 2 3
于 2014-03-11T10:59:58.567 回答