![](/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.