我在R中遇到了以下错误:
argument lengths differ.
我有一个数据集,我想按照两列排序,首先按照caseID排序,然后按照包含时间戳的列排序。我使用以下代码:
mydata <- mydata[order(mydata[ ,col1], mydata[ ,col2], decreasing = FALSE),]
Col1和col2是两个保存整数的变量。我已经查看了类似的问题并尝试了那里提出的解决方案,但是没有任何作用 ;)。
请有人帮帮我吗?
谢谢!
R认为您的两列长度不同,有时会发生这种情况是因为您意外地访问了一列不存在的列,请检查col1
和col2
的值,确保它们是适当的数字。同时查看length(mydata[,col1])
和length(mydata[,col2])
以查看这两个值是否匹配。还要检查是否缺少逗号或其他标点符号,有时候如果语法不完全正确,那么您会得到一个长度为1的列表,或者单个元素向量,这与另一个向量的长度不匹配。
我之前也遇到过这个问题,但是最终成功解决了。尝试使用以下代码。
with(mydata, mydata[order(col1,col2),]).
也许查看这篇类似的帖子会很有帮助,使用dplyr包来解决问题并且对我有所帮助: 使用dplyr在组内进行排序
这可能会起到作用:
library(dplyr)
mydata <- mydata %>%
arrange(
col1,
col2,
desc(col3)
)
dput(head(mydata))
的输出结果。 - GSee