如何在for循环中使用字符串值作为列选择器



我有一个像这样的for循环

for (j in c("Month_1", "Month_2", "Month_3", "Month_4")) {
r <- ggplot(df_tableAcc[df_tableAcc$j > 100,]) + 
aes_string(x = "ShipSog") + 
geom_bar()

print(r)
}

其中df_tableAcc中的列名为"Month_1", "Month_2", "Month_3", "Month_4"

如何使用"[df_tableAcc$j

比;100年," ?我一直得到这个错误:

警告:未知或未初始化列:j。错误:必须使用有效的下标向量子集行。i逻辑下标必须匹配索引输入的大小。x输入的大小为1852,但下标df_tableAcc$j > 100的大小为0。

df_tableAcc$j改为df_tableAcc[[j]]:

for (j in c("Month_1", "Month_2", "Month_3", "Month_4")) {
r <- ggplot(df_tableAcc[df_tableAcc[[j]] > 100,]) + 
aes_string(x = "ShipSog") + 
geom_bar()

print(r)
}

最新更新