我编写了一个函数,该函数创建(或至少尝试创建)数值的数据框。我需要稍后在函数中检索这些数值。为此,我使用
明确地将数据框中的所有值分配为数字类as.numeric()
稍后在我的函数中,当我从数据框中提取元素时,使用
mydataframe[1,2]
我收到错误“二元运算符的非数字参数”。我真的不明白我的数据框中的非数字是什么。
如果我要求数据框中值的类和模式,它们都是“数字”,存储模式是“双”。任何人都可以开导我吗?我哪里出错?
顺便说一句,如果我使用
,我可以毫无错误地提取元素as.numeric(mydataframe[1,2])
但我需要提取相当多的元素,所以我更喜欢数据框的所有元素都是数字。
我的代码:
mydata <- by(data, data[,index], function(data) {
*myfunction including a for-loop, creating a vector of numbers (subvar1)*}
var1 <- as.numeric(sum(subvar1) / n)
var2 <- as.numeric(mean(data[,value]))
var3 <- nrow(data)
var3 <- as.numeric(var3)
list(var1=var1, var2=var2, var3=var3)})
mydataframe <- data.matrix(do.call(rbind, mydata))
提前致谢!