R:如何使用if-else条件创建两个变量
假设数据集包含两个变量-R:如何使用if-else条件创建两个变量,r,R,假设数据集包含两个变量- Name Name2 Dr John Apollo Hsp AIIMS Hsp Dr Khan 现在,我想根据条件再创建两个变量,当名称以Dr开头时,将转到医师列,当名称不以Dr开头时,将转到设备列 输出: Name Name2 facility Physician Dr John Apollo Hsp. Apollo H
Name Name2
Dr John Apollo Hsp
AIIMS Hsp Dr Khan
现在,我想根据条件再创建两个变量,当名称以Dr开头时,将转到医师列,当名称不以Dr开头时,将转到设备列
输出:
Name Name2 facility Physician
Dr John Apollo Hsp. Apollo Hsp. Dr John
AIIMS Hsp Dr Khan. AIIMS Hsp. Dr Khan.
我们可以将
ifelse
与grepl
一起使用:
df <- data.frame(Name=c("Dr John", "AIIMS Hsp"),
Name2=c("Apollo Hsp", "Dr Khan."), stringsAsFactors=FALSE)
df$facility <- ifelse(grepl("^Dr", df$Name), df$Name2, df$Name)
df$Physician <- ifelse(grepl("^Dr", df$Name), df$Name, df$Name2)
df
Name Name2 facility Physician
1 Dr John Apollo Hsp Apollo Hsp Dr John
2 AIIMS Hsp Dr Khan. AIIMS Hsp Dr Khan.
df感谢Tim,是否可以使用if-else条件创建两个变量。因为我有很多情况,比如。。。。博士,医学博士etcI没有看到一个明显的方法来扩展你的逻辑。你可能想提出一个新问题。