我想从数据框中提取字符的一部分。
但是结果在所有情况下都是"bb"。我做错了什么?
d<-data.frame(a=c("aa_bb_cc", "ddd_eee_fff", "sss_rrr_eee"))
我希望在新列中获取"bb"、"eee"和"rrr"这部分内容。当使用下面的结构时,它可以正常工作:
unlist(str_split(d$a[1],"_"))[2]
unlist(str_split(d$a[2],"_"))[2]
所以我将其应用到 mutate (dplyr) 中:
t<-d %>% mutate(new1=(unlist(str_split(a,"_"))[2]))
但是结果在所有情况下都是"bb"。我做错了什么?
word
,即stringr::word(d$a, 2, sep = '_')
。 - Sotos