1
我有一個數據幀R:匹配()只返回第一次出現
names2 <- c('AdagioBarber','AdagioBarber', 'Beethovan','Beethovan')
Value <- c(33,55,21,54)
song.data <- data.frame(names2,Value)
我想根據該字符向量
names <- c('Beethovan','Beethovan','AdagioBarber','AdagioBarber')
我使用匹配安排它()來實現這一點
data.frame(song.data[match((names), (song.data$names2)),])
問題是,匹配只返回第一次發生ES
names2 Value
3 Beethovan 21
3.1 Beethovan 21
1 AdagioBarber 33
1.1 AdagioBarber 33
有沒有辦法從這個該命令你希望兩個「Beethovan的記錄就知道。你真的想做什麼?所以你有一個獨特的值列表,你希望其他人被排序?你如何打破關係? – MrFlick
@MrFlick我猜他們可能只想重新命名'names2'列的級別,然後對數據框進行排序?但是我對「匹配」的評論感到困惑,因爲它被明確記錄爲只返回第一個匹配。 – joran
也許'song.data $ names2 < - factor(song.data $ names2,levels = c('Beethovan','AdagioBarber')); song.data [order(song.data $ names2),]'? – zx8754