结合mutate和filter函数

phn*_*nlg 3 variables r filter mutate

我是初学者,当谈到R语言时很抱歉,如果我复制一个问题btw我使用tidyverse包.

我的问题如下:我有一个数据框,其中一列看起来像那样

pre_schwa
IY0
SH
Z
+1500 rows
Run Code Online (Sandbox Code Playgroud)

现在我需要创建一个与此特定列对应的列(变量).我创建了四个向量:

vowels <- c("AY1", "ER0", "IY0", "IY1", "UW2")
sonorants <- c("M","N", "R", "Y", "ZH", "W")
fricatives <- c("F", "S", "SH", "TH", "V", "Z")
stops <- c("B", "CH", "D", "G", "JH", "K", "P", "T")
Run Code Online (Sandbox Code Playgroud)

有了这个我想创建一个名为sonority_grouped的列,它将包含四个名称(元音,声音,摩擦音,停止),具体取决于pre_schwa列中的字符,所以我希望它看起来像这样

  pre_schwa              sonority_grouped
  SH                     fricatives
  ER0                    vowels
  B                      stops
  Z                      fricative
  +1500 rows
Run Code Online (Sandbox Code Playgroud)

我尝试通过%>%进行组合mutate()filter()功能,但我很喜欢编程.谢谢你的任何回应.

hpe*_*626 5

你也可以使用case_when.

df %>%
  mutate(sonority_grouped = case_when(
    pre_schwa %in% vowels ~ "vowels",
    pre_schwa %in% sonorants ~ "sonorants",
    pre_schwa %in% fricatives ~ "fricatives",
    pre_schwa %in% stops ~ "stops",
  ))
Run Code Online (Sandbox Code Playgroud)