【问题标题】:Data manipulation on multiple dataframes in RR中多个数据帧的数据操作
【发布时间】:2013-08-28 10:14:01
【问题描述】:

假设我有一些数据框 A_January、A_February、A_December 等,每个数据框大约有 10 列...

它们都有相同的 10 列.. 我需要对 10 列中的一个进行一些数据操作,并在每个数据框中生成一组新的列。我可以为所有数据框手动执行此操作,但我有 400 个这样的数据框。

我该怎么做?请告诉我... 假设,我需要对多个数据帧执行相同的操作集......(创建新变量,对它们进行排序等) A_January$New_var

我该怎么做?我怎样才能把它放在一个循环中并让它发生?请告诉我

【问题讨论】:

    标签: r loops dataframe


    【解决方案1】:

    第一步非常重要:不要为每个 data.frame 创建一个变量。相反,将它们全部放入 data.frames 列表中:

    data <- list(A_January, A_February, A_December)
    

    这可能看起来很麻烦,尤其是当您有数百个 data.frames 时。因此,如果您能告诉我们您是如何创建这些 data.frames 的,我们可能会帮助您从根本上解决问题。

    一旦你有了一个列表,就很容易修改它们:

    data <- lapply(data, transform, New_var = Var1 + Var2)
    

    【讨论】:

    • 或者如果对象名称具有使用mget的通用模式。
    • mget 将帮助解决中途问题,而不是从根本上解决问题...确实,您的环境中不应该有数百个类似的变量。
    • Cool flodel,谢谢你!.. 相信我可以使用列表来做我需要的事情......快速提问......我可以在一个命令中进行多个转换还是需要这样做在多行中......假设我想按特定的 var1 和 var2 对所有数据集进行排序,然后我也想做其他事情......
    • 您可以将任何函数传递给lapply,尤其是您自己编写的函数。通常,您会 1) 编写一个将 data.frame 作为输入并根据需要对其进行转换的函数,2) 在列表中的第一个数据帧上对其进行测试,以及 3) 如果您对结果感到满意,请应用它通过lapply 访问您的所有数据。
    • 嗨弗洛德尔,如果我需要先对我的数据进行排序,那么这是否可行:??Data_sorted
    猜你喜欢
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    • 2020-08-20
    • 2017-06-29
    • 2021-10-01
    • 2021-01-30
    相关资源
    最近更新 更多