R中的顺序函数:参数长度不同

时间:2013-12-27 18:17:43

标签: r arguments

我在R中遇到以下错误:

argument lengths differ.

我有一个数据集我想在两列上订购,首先在caseID上,然后在包含时间戳的列上。我使用以下代码:

mydata <- mydata[order(mydata[ ,col1], mydata[ ,col2], decreasing = FALSE),]

Col1和col2是两个包含整数的变量。我已经查看了类似的问题并尝试了那里提出的解决方案,但没有任何效果;)。

有人可以帮助我吗?

亲切的问候

3 个答案:

答案 0 :(得分:7)

R认为您的2列具有不同的长度,有时会在您不小心访问不存在的列时发生,检查col1col2的值以确保它们是合适的数字。另请查看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)
  )