我面臨以下R轉換問題。 我有以下數據框:Unlist列在數據框中創建唯一行
test_df <- structure(list(word = c("list of XYZ schools",
"list of basketball", "list of usa"), results = c("58", "151", "29"), key_list = structure(list(`coRq,coG,coQ,co7E,coV98` = c("coRq", "coG", "coQ", "co7E", "coV98"), `coV98,coUD,coHF,cobK,con7` = c("coV98","coUD", "coHF", "cobK", "con7"), `coV98,coX7,couC,coD3,copW` = c("coV98", "coX7", "couC", "coD3", "copW")), .Names = c("coRq,coG,coQ,co7E,coV98", "coV98,coUD,coHF,cobK,con7", "coV98,coX7,couC,coD3,copW"))), .Names = c("word", "results", "key_list"), row.names = c(116L, 150L, 277L), class = "data.frame")
簡而言之有三列,對具有逗號分隔的密鑰列表「字」,然後相應的「KEY_LIST」唯一的。我有興趣創建一個新的數據框,其中每個鍵都是唯一的,並且單詞信息被複制以及結果信息。 所以一個數據幀,看起來如下:
key word results
coV98 "list of XYZ schools" 58
coRq "list of XYZ schools" 58
coV98 "list of basketball" 151
coV98 "list of usa" 29
等了所有的鑰匙,所以我想擴大密鑰不公開它們,然後重新塑造成一個數據幀與重複的詞等欄目。
我嘗試了一堆以下內容: 創建了一個唯一的鍵列表,然後嘗試對列中的每個鍵進行grep並循環遍歷以創建一個新的較小數據框,然後將這些鍵一起打包,據幀但是不包含鍵列:
keys <- as.data.frame(table(unname(unlist(test_df$key_list))))
ttt <- lapply(keys, function(xx){
idx <- grep(xx, test_df$key_list)
df <- all_data_sub[idx,]})
final_df <- do.call(rbind, ttt)
我也有unlisting和重塑發揮各地,但我沒有得到正確的組合。 任何建議將是偉大的! 感謝
這正是我需要的,我不知道怎麼感謝你纔好。我完全不知道那個圖書館,但讀了它,似乎有很多有用的操作。謝謝!! – RCN