【发布时间】:2016-03-07 02:48:57
【问题描述】:
我想根据我在 data.frame 中另一列的 grepl 中匹配的内容更改一列中的值。
Data.frame 示例:
df
SHOT CLASS DATA_TEXT
shot1 missed missed Jumper
shot2 made made Three Point Jumper
shot3 made made Jumper
我一直在尝试的:
df$SHOT_TYPE <- as.vector(0) #create new variable
for (i in 1:length(df)) {
if(grepl("e Jumper", df$DATA_TEXT[i])) { df$SHOT_TYPE <- "Jumper"
} else if(grepl("d Jumper", df$DATA_TEXT[i])) { df$SHOT_TYPE <- "Jumper"
} else if(grepl("t Jumper", df$DATA_TEXT[i])) { df$SHOT_TYPE <- "Three" } }
每个if statement 执行此方法只会覆盖最后一个。
我目前的结果:
df
SHOT CLASS DATA_TEXT SHOT_TYPE
shot1 missed missed Jumper Three
shot2 made made Three Point Jumper Three
shot3 made made Jumper Three
我希望结果是什么样的:
df
SHOT CLASS DATA_TEXT SHOT_TYPE
shot1 missed missed Jumper Jumper
shot2 made made Three Point Jumper Jumper
shot3 made made Jumper Three
任何帮助将不胜感激。如果需要任何进一步的信息,请告诉我。
【问题讨论】:
标签: r if-statement extract grepl