提问人:Marlen 提问时间:12/30/2022 最后编辑:Marlen 更新时间:1/4/2023 访问量:35
如何应用标准子设置操作的等效项,但应用于数据帧列表而不是单个数据帧
How to apply the equivalent of standard sub setting operations but to a list of dataframes instead of to a single dataframe
问:
我在一个文件夹中有一组 40 个不同的数据集,我已将这些数据集加载到 RStudio 中的 WorkSpace 中:
datasets <- lapply(filepaths_list, read.csv, header = FALSE)
此对象数据集是包含 40 个数据帧的列表。 当对象是单个数据帧时,我想运行与以下代码行相同的代码:
All_sample_obs <- datasets[-1:-3,]
从那里,我同样想找到找到以下 3 个简单预处理转换步骤的迭代版本的方法:
All_sample_obs <- lapply(All_sample_obs, as.numeric)
All_sample_obs <- as.data.frame(All_sample_obs)
All_sample_obs <- round(All_sample_obs, 3)
答:
0赞
Marlen
1/4/2023
#1
以下内容应该可以满足您的要求:
All_sample_obs <- lapply(datasets, function(i) {i[-1:-3, ]})
All_sample_obs <- lapply(All_sample_obs, \(X) { lapply(X, as.numeric) })
All_sample_obs <- lapply(All_sample_obs, function(i) { as.data.frame(i) })
All_sample_obs <- lapply(All_sample_obs, \(X) { round(X, 3) })
我包含了两个解决方案,每个解决方案都用于 lapplies 的两种常见语法,两者都是有效的。
评论
all_sample_obs = lapply(all_sample_obs, function(x), x[-1:-3,])
laplly(all_sample_obs, as.numeric)
df