我有 2 个有序因子 A 和 B 的列表,它们都包含数千个项目,并且具有相同的序数规模,大约 30 个级别。我想找出 A 中有多少项目等于或在 B 中同一位置的项目之上或之下一级之内
如果这个比例是数字,我会将有序因子转换为数值,然后执行以下操作:
table(A==B || A==(B+1) || A==(B-1))
但是,当然,“+”对因子没有意义。那我该怎么办?我可以编写一个巨大的嵌套 if 语句,或者我也可以根据它们的级别将我的序数比例更改为数字,以便我可以将我的有序因子转换为数字......但这些似乎是我的一些迂回(和冗长)的解决方案d 假设很简单:如何增加或减少有序因子的水平?
如果我有
X<-ordered("b",levels=c("a","b","c"))
如何通过增加其当前级别来使其X[1]
相等?"c"
旁注:当然,在上面的第一个示例中,我需要考虑规模上下端的因素,但我认为(希望)一旦我的问题得到回答,这很容易弄清楚.