我们使用以下命令解析包含一些数字的 CSV 文件:
tt <- read.table("test2.csv",sep=";",stringsAsFactors=FALSE)
它有效。印刷tt[1,]
产生一个很好的向量并且sd(tt[1,])
是明智的。
然而,当我们尝试
diff(tt[1,])
命令行返回错误:
Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] :
non-numeric argument to binary operator error
这是为什么?有任何想法吗?
我认为在你的tt[1,]
, that
class(tt[1,])
# [1] "data.frame"
所以如果你使用as.numeric
,你应该没事。尝试这个:
diff(as.numeric(tt[1,]))
这是我们可以检查的示例:
tt <- data.frame(x = 1, y = 2)
is.vector(tt[1,])
# [1] FALSE
class(tt[1,])
# [1] "data.frame"
diff(tt[1,])
# Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] :
# non-numeric argument to binary operator
as.numeric(tt[1,])
# [1] 1 2
diff(as.numeric(tt[1,]))
# [1] 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)