我有几个数据框df1, df, 2...., df10。列(变量)在所有这些中都是相同的。
我想在每个变量中创建一个新变量。我可以轻松地“手动”完成,如下所示:
df1$newvariable <- ifelse(df1$oldvariable == 999, NA, df1$oldvariable)
或者,或者,
df1 = transform(df1, df1$newvariable= ifelse(df1$oldvariable==999, NA, df1$oldvariable)))
不幸的是,我无法循环执行此操作。如果我写
for (i in names) { #names is the list of dataframes
i$newvariable <- ifelse(i$oldvariable == 999, NA, i$oldvariable)
}
我得到以下输出
Error in i$oldvariable : $ operator is invalid for atomic vectors