我有一组与下面的示例相对应的数据框:
df1 <- data.frame(id=1:10, relevant_values=11:20, rubbish = runif(n = 10),
important_as_well = 11:20)
df2 <- data.frame(id=1:10, something_important=11:20, not_relevant = runif(n = 10))
df3 <- data.frame(id=1:10, may_be_valid=11:20, nonsense = runif(n = 10),
crucial=11:20)
我想循环浏览这些数据集并删除列rubbish
,not_relevant
和nonsense
。这些列始终位于数据集的相同位置3
,如上例所示,但名称不同。
答案 0 :(得分:1)
您可以使用否定索引删除第三列:
df1 <- df1[, -3]
df2 <- df2[, -3]
df3 <- df3[, -3]
我建议不要以编程方式循环访问这些变量,如果你想对每个变量执行相同的操作,建议你将它们保存在列表中。但是,如果您确实想要访问它们,可以使用get
和assign
:
var_names <- paste0("df", 1:3)
lapply(var_names, function(n) assign(n, get(n)[, -3]))