[英]Order function in R: argument lengths differ
我在 R 中收到以下錯誤:
argument lengths differ.
我有一個數據集,我想在兩列上排序,首先是 caseID,然后是包含時間戳的列。 我使用以下代碼:
mydata <- mydata[order(mydata[ ,col1], mydata[ ,col2], decreasing = FALSE),]
Col1 和 col2 是兩個保存整數的變量。 我查看了類似的問題並嘗試了那里提出的解決方案,但沒有任何效果;)。
有人可以幫我嗎?
親切的問候
R認為你的2列有不同的長度,有時會在你不小心訪問不存在的列時發生,檢查col1
和col2
的值以確保它們是合適的數字。 還要查看length(mydata[,col1])
和length(mydata[,col2])
以查看這兩個值是否匹配。 同時檢查是否存在遺漏,
或其他標點符號,有時如果你沒有語法完全正確的,那么你得到的長度1,或不長的其它矢量匹配單個元素的向量的列表。
我遇到了同樣的問題,但能夠讓我的代碼正常工作。 試試這個代碼。
with(mydata, mydata[order(col1,col2),]).
結果是減少,因此不需要添加函數減少= False。 希望有所幫助。
可能很高興檢查這個類似的帖子,使用dplyr包解決它,它幫助我: 安排在dplyr組內
這可能會成功:
library(dplyr)
mydata <- mydata %>%
arrange(
col1,
col2,
desc(col3)
)
我在加載plyr
包后加載dplyr
包時遇到了這個問題。 當你這樣做時,會出現一個警告:
您在 dplyr 之后加載了 plyr - 這可能會導致問題。
如果您需要 plyr 和 dplyr 的函數,請先加載 plyr,然后加載 dplyr:
圖書館(plyr); 圖書館(dplyr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.