![](/img/trans.png)
[英]How do I create a binary column based off characters in another column in R?
[英]How to create a binary column based on specific text in another column in R?
我正在R中工作,我需要根据播放器是否具有名称Mike(0表示否,1表示是)创建一个二进制列。 这是我到目前为止的代码,但是我不知道下一步该怎么做:
baseball$player_mike <- ifelse(baseball$player_name == "%Mike%", 1, 0)
baseball
是数据帧, player_mike
是二进制列,而player_name
是运动员列表(具有其全名)。 任何关于我做错事情的指导都将受到感谢,谢谢!
自从您第一次与ifelse
合作以来,这只是对事物的另一种tidyverse
方法。
library(dplyr)
output <- baseball %>%
dplyr::mutate(
player_mike = ifelse(player_name == "Mike", 1, 0)
)
如果您有实例mike
以及Mike
,你可以做tolower(player_name)
以适应这一点。
一个data.table
替代方案:
require(data.table) # loads library
setDT(baseball) # sets baseball as a data.table
baseball[, player_mike := 0L] # creates a column and assigns 0 to all its values
baseball[grepl("Mike", player_name, ignore.case = TRUE), player_mike := 1L]
# filters rows where "Mike" appears in the player_name and
# assigns 1 to player_mike of those rows
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.