[英]R function to create data.frame based on variable in a column
我是 R 的新手,遇到了一些麻烦。 如果我有一个 df 调用'xyz',如下所示。
C1 | C2 | C3 |
---|---|---|
X | 1 | 三 |
X | 2 | 三 |
是的 | 1 | 三 |
是的 | 0 | 三 |
z | 2 | 三 |
z | 1 | 三 |
从上面的df中,我想用c1中的变量命名单独的数据框,例如:
数据框名称“x”
C1 | C2 | C3 |
---|---|---|
X | 1 | 三 |
X | 2 | 三 |
数据框名称'y'
C1 | C2 | C3 |
---|---|---|
是的 | 1 | 三 |
是的 | 0 | 三 |
数据框名称“z”
C1 | C2 | C3 |
---|---|---|
z | 2 | 三 |
z | 1 | 三 |
抱歉,如果它已经得到回答,但我现在找不到任何好的解决方案。
尝试list2env(split(df,df$C1),envir=.GlobalEnv)
。
这会将 df 除以 C1 并将每个 dataframe 保存到具有 C1 值名称的变量中。
由于您是 R 的新手,因此非常适合坚持基础 R。 但保留 dplyr 选项以供将来使用。
df %>%
group_by(`C1`) %>%
group_walk( ~ write_csv(
.x,
paste0(
"path_to_your_folder",
"file_prefix_if_required_",
.y$C1,
".csv"
) #paste0 function willbuild a custom filename as per your needs
), .keep = TRUE) #.keep=T will keep the grouped column in the file.
请查看dplyr::group_walk的帮助,它也有一个示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.