嗨,所以我在遍历我的数据帧时遇到了一些问题,并根据抑制= 1的条件删除了列。因此,循环将需要遍历df1的每一列,并删除同一变量的抑制= 1列。需要确定抑制= 1的特定行在两个df中都具有相同的变量。
所以有两个数据帧。 df1包含所有数据,df2包含基于df1变量的条件。
df1 <- data.frame("ID" = c(1,2,3,4,5), "Age" = c(19,50,46,32,28))
df2 <- data.frame("Variable" = c("ID", "Age"), "Suppress" = c(1,0))
我遇到的主要问题是,当创建诸如df1和df2之类的数据帧时,当前存在的循环适用,但是对于导入csv文件并使用该数据而言,则不适用。
是数据帧的格式,还是需要调整循环以适用于csv导入?我怀疑是后者。
这是我当前遇到的循环:
for(i in names(df1)){
if(df2$Variable == names(df1[i]) & df2$Suppress == 1){
df1[i] <- NULL
}
}
另一个版本...基本上相同
for(i in names(df1)){
if(df2$Variable %in% names(df1[i]) & df2$Suppress == 1){
df1[i] <- NULL
}
}
我无法在此处发布csv,但是我建议尝试使用类似于df1和df2的导入的csv文件运行上述代码。
注意:df1和df2都将作为csv文件导入。
概述:为什么当前循环不适用于导入的csv数据,以及基于df2的抑制变量删除列的替代方法是什么。
谢谢