在R

时间:2018-02-22 15:59:32

标签: r refactoring predefined-variables

我想预定义表函数的级别,以使结果在不同的数据集中具有可比性。让我们说我想比较obj1和obj2:

obj1 <-c(1,1,1,2,3)

obj2 <- c(1,1,1,2,2)

如果我对它们使用表函数,结果会有不同的因素:

> table(obj1)
obj1
1 2 3
3 1 1
> table(obj2)
obj2
1 2
3 2

我试图预定义水平但没有成功:

table(obj2, deparse.level = 3)
  

vapply错误(l [fixup],function(x)switch(deparse.level + 1,“”,   if(is.symbol(x))as.character(x)else“”,:         值必须是长度1,        但是FUN(X [[1]])结果是长度0

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

现在,你只有数字。如果你做了obj的因素,你可以声明因子水平。

obj1 <- factor(c(1,1,1,2,3), levels=1:3)
obj2 <- factor(c(1,1,1,2,2), levels=1:3)
table(obj1)
obj1
1 2 3 
3 1 1 
table(obj2)
obj2
1 2 3 
3 2 0