我輸入dataframes Berry
和Orange
組合幾個data.frames成一個(每天保持rownames)
Berry = structure(list(Name = c("ACT", "ACTION", "ACTIVISM", "ACTS",
"ADDICTION", "ADVANCE"), freq = c(2L, 2L, 1L, 1L, 1L, 1L)), .Names = c("Name",
"freq"), row.names = c(NA, 6L), class = "data.frame")
Orange = structure(list(Name = c("ACHIEVE", "ACROSS", "ACT", "ACTION",
"ADVANCE", "ADVANCING"), freq = c(1L, 3L, 1L, 1L, 1L, 1L)), .Names = c("Name",
"freq"), row.names = c(NA, 6L), class = "data.frame")
運行下面的操作會給我想要的output
output = t(merge(Berry,Orange, by = "Name", all = TRUE))
rownames(output) = c("","Berry","Orange")
colnames(output) = output[1,]
output = output[2:3,]
output = data.frame(output)
不過,現在我必須從創建output
類似於Berry
和Orange
的數據幀。由於merge
似乎只能同時使用兩個data.frame
,所以我不確定最適合我的是什麼。我嘗試了rbind.fill
,它保留了值但丟失了Names
。我發現this和this,但無法自行找出解決方案。
這裏是爲了提供一個可重複的例子
Apple = structure(list(Name = c("ABIDING", "ABLE", "ABROAD", "ACROSS",
"ACT", "ADVANTAGE"), freq = c(1L, 1L, 1L, 4L, 2L, 1L)), .Names = c("Name",
"freq"), row.names = c(NA, 6L), class = "data.frame")
我試圖找出如何從Apple
,Berry
,並且Orange
獲得output
一個更data.frame
。我正在尋找一個解決方案,可以用於多個數據幀,最好不必手動提供數據幀。
可以假設data.frame名稱爲獲取output
處理可在列表df_names
:
df_names = c("Apple","Berry","Orange")
或者,你也可以認爲在Global Environment
需要每data.frame
被處理創建output
。
您可以創建數據框的列表並使用lapply嗎? –