這個問題在這里已經有了答案: 如何拆分資料框? (8 個回答) 14 小時前關閉。
我正在嘗試制作一個 Rmarkdown 腳本,它可以盡可能一鍵點擊,以便在我的公司更廣泛地使用。我正在閱讀具有 4 列和 20 行的 csv 檔案。我想根據 1 列中的值將此資料幀子集到其他 dfs 中,并將新的 dfs 命名為“df_value1”、“df_value2”等。
我正在嘗試復制此塊的功能:
df <- read.csv("data_template", header = TRUE)
df_0000 <- subset.data.frame(df, subset = ID == '0000')
df_1111 <- subset.data.frame(df, subset = ID == '1111')
到目前為止,我有這個:
IDs = unique(data$ID)
IDs = list(IDs)
for (i in IDs[[1]]){
i = subset.data.frame(data, subset = ID == i)
}
我敢肯定你可以說出來,最終變數 i 存盤了一個 df,它是正確的輸出,但包含串列中最后一個值的所有資料。
我想我想將 ID 存盤'i'在一個str變數中,然后迭代地命名 df 但我不知道如何在不重新分配變數的情況下訪問存盤在變數中的資料。
uj5u.com熱心網友回復:
如果標識資料框的列位于名為 mygroups 的列中,則可以使用dplyr group_split
library(dplyr)
my_list_of_dfs <- df %>%
group_by(mygroups) %>%
group_split()
并使用普通串列表示法訪問每個資料幀。
my_list_of_dfs[[1]]
uj5u.com熱心網友回復:
使用基礎 R:
df_list = split(df, df$ID)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/409480.html
標籤:
下一篇:熊貓分組資料框直到特定值
