【发布时间】:2019-04-26 09:35:52
【问题描述】:
我在R 中有不同的数据框,我想删除相同的四列,在整个循环中迭代所有这些列的过程。
当我使用子集并在单个数据框上进行选择时,这行代码可以正常工作。然而,一旦我尝试某种迭代,我总是会遇到某种错误。下面,我做了一些尝试
假设我有两个数据框 A 和 B,我想删除列 sex、age、citizen 和 unit。
当我使用子集并在单个数据框上选择时很好:
A=subset(A, select = -c(sex,age,citizen,unit))
然后我尝试创建两个数据框的列表并使用 for 循环如下:
df.list <- list(A, B)
for(i in 1:2) {
df.list<- subset(i, select = -c(sex,age,citizen,unit))
}
但我收到错误消息:
subset.default 中的错误:缺少参数“subset”,没有默认值
【问题讨论】:
-
尝试 '''lapply(df.list, function(x) subset(x, select = -c(sex,age,citizen,unit)))''' 我看到它显示正确结果,但它不会覆盖现有的数据帧。对此有何建议?
标签: r loops dataframe data-manipulation