R:基于某些字符创建新的虚拟变量列
我试图使用R向数据帧添加一个新的虚拟变量列。标准将基于篮球运动员的位置 我仍然希望保留“职位”列,作为参考 虚拟变量,guard=1表示“PG”(控球后卫)和“SG”(得分后卫),guard=0表示“SF”、“PF”和“C” 此外,如果组合了两个位置(例如“SG-SF”),则仅使用第一个位置(例如“SG”)R:基于某些字符创建新的虚拟变量列,r,dummy-variable,R,Dummy Variable,我试图使用R向数据帧添加一个新的虚拟变量列。标准将基于篮球运动员的位置 我仍然希望保留“职位”列,作为参考 虚拟变量,guard=1表示“PG”(控球后卫)和“SG”(得分后卫),guard=0表示“SF”、“PF”和“C” 此外,如果组合了两个位置(例如“SG-SF”),则仅使用第一个位置(例如“SG”) df我们可以提取第一个单词,然后在%中使用%,然后强制使用as.integer或+` library(dplyr) library(stringr) df <- df %>%
df我们可以提取第一个单词,然后在%
中使用%,然后强制使用as.integer或
+`
library(dplyr)
library(stringr)
df <- df %>%
mutate(guard = +(str_extract(position, "\\w+") %in% c("PG", "SG")))
或使用base R
df$guard <- +(sub("\\s*-\\s*.*", "", df$position) %in% c("PG", "SG"))
df$guard另一个基于grepl
df[["guard"]] <- +grepl("^PG|SG", df[["position"]])
<代码> DF[[卫兵] ]在您的逻辑中,“SG”被重复用于守护1和0代码> DF$Gub感谢HEAP,这完全有效!@ USE1582004请考虑检查
df$guard <- +(sub("\\s*-\\s*.*", "", df$position) %in% c("PG", "SG"))
df[["guard"]] <- +grepl("^PG|SG", df[["position"]])