我在R中遇到以下错误:
argument lengths differ.
我有一个数据集我想在两列上订购,首先在caseID上,然后在包含时间戳的列上。我使用以下代码:
mydata <- mydata[order(mydata[ ,col1], mydata[ ,col2], decreasing = FALSE),]
Col1和col2是两个包含整数的变量。我已经查看了类似的问题并尝试了那里提出的解决方案,但没有任何效果;)。
有人可以帮助我吗?
亲切的问候
答案 0 :(得分:7)
R认为您的2列具有不同的长度,有时会在您不小心访问不存在的列时发生,检查col1
和col2
的值以确保它们是合适的数字。另请查看length(mydata[,col1])
和length(mydata[,col2])
,看看这两个值是否匹配。还要检查缺少,
或其他标点符号,有时如果你没有完全正确的语法,那么你得到一个长度为1的列表,或者一个与另一个向量长度不匹配的元素向量。
答案 1 :(得分:1)
我遇到了同样的问题,但能够让我的代码正常运行。试试这个代码。
with(mydata, mydata[order(col1,col2),]).
结果是减少,因此不需要添加函数减少= False。希望有所帮助。
答案 2 :(得分:1)
检查这个类似的帖子可能很高兴,使用dplyr包解决它并帮助我:Arrange within a group with dplyr
这可能会起到作用:
library(dplyr)
mydata <- mydata %>%
arrange(
col1,
col2,
desc(col3)
)