我必须进行一些比较,我想知道如何自动化整个程序。假设我只有以下变量:
age location serial weight height age_n location_n serial_n weight_n height_n
我想比较
data[weight != weight_n,c("serial ","weight","weight_n") , drop = F]
表示每个变量。 如何循环遍历所有变量?
我在尝试
for (nam in colnames(df)) {
data['nam' != 'nam'_n,c("serial ",'nam','nam'_n) , drop = F]
}
答案 0 :(得分:3)
这是另一种选择。请注意,您应该只遍历_n
的列名称(因此grep
部分中的for
):
for(nam in colnames(df)[-grep("_n$", colnames(df))]) {
data[
data[[nam]] != data[[paste0(nam, "_n"]],
c("serial", nam, paste0(nam, "_n")
]
}