R

时间:2017-06-07 13:33:24

标签: r

我对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'

2 个答案:

答案 0 :(得分:1)

由于您在创建的对象周围使用了引号“”,因此R将它们解释为字符向量。 函数stack需要一个正确的data.frame,而你的只是一列的一个观察。 在构建data.framestack调用时从代码中删除“”会产生解决方案:

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)