将多个数据帧中的数据拉入新的数据帧中

问题描述 投票:0回答:1

我导入了 Excel 文件列表,并为每个文件创建了一个数据框,格式为

df_x
,其中 x 是唯一的数字(例如
df_1
df_2
...
df_100
)。所有 Excel 文件(以及数据帧)都具有相同的格式,我需要将数据从特定单元格提取到新的数据帧中。例如,我的新数据帧 (
new_df
) 的第一列是每个数据帧的第 13 行第 2 列,
new_df
的第二列是每个数据帧的第 13 行第 4 列,
new_df
的第三列是每个数据帧的第 13 行第 6 列。

我已经以非常手动的方式成功完成了此操作,但我希望使用循环来避免犯错误,并能够在以后轻松添加更多 Excel 文件。

手动代码如下所示:

new_df[nrow(new_df) + 1,] <- c(df_1[13,2], df_1[13,4], df_1[13,6])

new_df[nrow(new_df) + 1,] <- c(df_2[13,2], df_2[13,4], df_2[13,6])

我正在努力弄清楚如何创建一个循环来同时对所有数据帧运行这个循环,这样我就不需要复制和粘贴这个100次,用

df_1
替换
df_2
,然后
def_3
等等。

我尝试过使用

lapply()
for()
循环,但我在 R 方面是新手,不知道如何使它们适应我的需要。

r dataframe loops
1个回答
0
投票

也许你可以像下面这样使用

mget

new_df <- do.call(
    rbind,
    lapply(
        mget(paste0("df_", 1:100)),
        \(x) x[13, c(2, 4, 6)]
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.