繁体   English   中英

R function 根据列中的变量创建data.frame

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM