df <- data.frame(
V1 = c(1,3,3,5,5,6),
V2 = c(19,19,38,19,38,19),
V3 = c(1,3,1,7,2,10)
)
如何使用带有if语句的for循环删除 V2 为奇数的行?
答案 0 :(得分:2)
你可以使用@Aleh答案,即使你想用 for loop 和 if loop
试试这会有所帮助:
dt = data.frame()
for(i in 1:nrow(df) ) {
if(df$V2[i] %% 2 == 0){
dt <- rbind(dt , df[i,])
}
}
答案 1 :(得分:2)
这是dplyr解决方案:
df_filtered <- df %>% filter(V2 %% 2 == 0)
答案 2 :(得分:1)
上面的答案很好,你可以在一行中做到这一点...... 试试这个。
df[df$V2 %% 2 == 0,]
答案 3 :(得分:0)
你实际上并不需要循环,可以这样做:
idx <- df$V2 %% 2 == 0
df[idx, ]