我有一个数据集,我需要按参与者(RECORDING_SESSION_LABEL)和trial_number排序。但是,当我使用R排序数据时,没有任何排序函数尝试将变量以我想要的正确数字顺序排列。参与者变量出来没问题,但试用ID变量以我需要的顺序出错。使用排序R中的数据
: fix_rep[order(as.numeric(RECORDING_SESSION_LABEL), as.numeric(trial_number)),]
参与者编号出来为:
118 118 118 211等211 211 306等306 306等等(这是很好的)
trial_number出来作为:
1 1 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 2 2 20 20 ....(这不是我想要的 - 它似乎是在词法上排序而非比数字)
我想什么是trial_number是为了这样每个参与者数目之内:
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 ....
我已经检查过,这些变量不是因素,是数字,也没有'as.numeric',但没有喜悦的尝试。环顾四周,我看到sort()
和mixedsort()
可能取代'订单'的建议,都提出了错误。我正在慢慢拉我的头发,我认为应该是一件简单的事情。任何人都可以帮助阐明如何做到这一点,以得到我需要的东西?
您可能正在使用attach()。如果是这样,停止这样做。即使它们现在不是因素,它们或者在过去的某个时间被分类为“字符”或“as.numeric(因子)”。向我们显示dput(head(RECORDING_SESSION_LABEL)),dput(head(trial_number))的输出,如果“参与者”是一个对象,那么我们也需要它的结构。 – 2012-07-06 13:32:56