r - 有没有办法循环多个数据帧以删除相同的列?
问题描述
我有不同的数据框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 中的错误:缺少参数“子集”,没有默认值
解决方案
我不确定,因为我现在无权检查它,但它不应该是这样的:
for (i in 1:2) {
df.list <- subset(df.list[i], select = ...)
}
因为您不想调用第一个参数 = 1 但第一个参数 = 列表中第 i 个元素的子集。
推荐阅读
- ios - 通知操作中的 Appdelegate 启动选项为零
- r - stat_density_2d 绘图忽略填充美学
- chart.js - 在 chart.js 折线图上为距离与海拔设置自定义 X 轴刻度
- curl - Scrapy 没有从 curl scrapyd 设置中获取设置
- f# - 如何在 F# 中创建可变的泛型函数
- python - 类没有返回数据的属性错误
- xml - Ant Builds,但所有的junit测试都失败了
- python - 将二维浮点数组格式化为 2 位小数的最短语法是什么?
- c++ - c++ 为什么ifstream get() 函数返回无法识别的特殊字符?
- sql - 通过分隔符解析 VARCHAR 行并在 Oracle SQL 中更新表行