我想我只是沒有看到它,但所有類似的東西,我發現在網上,在Mailinglist存檔或常見問題解答不能真正闡明我的問題。apply-strsplit-rowwise包括排序和嵌套粘貼
我發現的最接近的是這樣的: apply strsplit rowwise
我有一個DF,有兩個字符列和一個數值列。 填充像這樣:
df=data.frame(name1=c("A","B","C","D"),
name2=c("B","A","D","C"),
nums=c(1,1,4,4),
stringsAsFactors=F)
現在我想找到這個獨特的行,然而,只有基於兩個名稱列。而對於那些欄目,欄目的順序沒有意義,因此如果我理解正確,我不能使用duplicated
。
因此,我想到了將兩個名稱列按行組合,進行逐行排序,並打印出矢量(長度= 2與sapply
之類的組合)的paste
。
但是我沒有得到它的工作。
到目前爲止,我使用了for循環,但是這會在原始數據上花費時間。
for(i in 1:length(df$name1)){
mysort=sort(c(df$name1[i],df$name2[i]))
df$combname[i]=paste(mysort[1],mysort[2])
}
歡迎任何建議。也許我錯誤地理解了unique
和sapply
。