我对R来说比较新,并且一直试图找到解决我在尝试堆叠数据时遇到的错误的方法。我尝试用三个变量来运行单向anova。当我尝试使用stack("Combined_Groups")
堆叠数据时,出现以下错误:
rep.int中的错误(名称(x),长度(x)): 未实现的类型' NULL'在' rep3'
我已经在下面复制了我的R语法,以防有用。
rpeople1 <- c(.74, .70, .36, .29, .33, .51, .34)
rmixed1 <- c(.58, .40, .02, .12, .32, .06, .26)
rthing1 <- c(.25, .05, -.06, .07, .10, .13, .19)
summary(rpeople1)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 0.2900 0.3350 0.3600 0.4671 0.6050 0.7400
Combined_Groups <- data.frame(cbind("rpeople1, rmixed1, rthing1"))
Combined_Groups
# cbind..rpeople1..rmixed1..rthing1..
# 1 rpeople1, rmixed1, rthing1
summary(Combined_Groups)
# cbind..rpeople1..rmixed1..rthing1..
# rpeople1, rmixed1, rthing1:1
Stacked_Groups <-stack("Combined_Groups")
# Error in rep.int(names(x), lengths(x)) :
# unimplemented type 'NULL' in 'rep3'
答案 0 :(得分:1)
由于您在创建的对象周围使用了引号“”,因此R将它们解释为字符向量。
函数stack
需要一个正确的data.frame,而你的只是一列的一个观察。
在构建data.frame
和stack
调用时从代码中删除“”会产生解决方案:
rpeople1 <- c(.74,.70,.36,.29,.33,.51,.34)
rmixed1 <- c(.58,.40,.02,.12,.32,.06,.26)
rthing1 <- c(.25,.05,-.06,.07,.10,.13,.19)
Combined_Groups <- data.frame(cbind(rpeople1, rmixed1, rthing1))
Combined_Groups
Stacked_Groups <- stack(Combined_Groups)
Stacked_Groups
答案 1 :(得分:0)
函数stack()
由多个软件包使用。尝试指定要与堆栈一起使用的软件包,例如raster::stack (packagename::functionname)
。