我想根据不同列的字符串的第三个字母在R中创建一个新列。
我正在处理我最近收集的数据,而不是让我的参与者在他们的性别框中打勾,我把它包括在他们的匿名主题ID中。现在我想根据他们代码中的第三个字母(m/f)创建一个单独的参与者性别列。然而,我环顾了四周,还是找不到解决方案。我已经设法发现我可以使用'separate (remove = FALSE)‘,如果可能的话,我想使用它,因为我很喜欢使用tidyverse。
# Example code
library(tidyverse)
a <- data_frame(SubjID = c("hgm9899", "lkf98988", "lkfm09078", "ujm987987"))
我想添加一个标题为participant_sex的列,如果参与者的第三个字母是m,则添加M,如果是f,则添加F。
谢谢
发布于 2019-06-10 05:25:06
一种可能性是:
a %>%
mutate(participant_sex = toupper(substr(SubjID, 3, 3)))
SubjID participant_sex
<chr> <chr>
1 hgm9899 M
2 lkf98988 F
3 lkfm09078 F
4 ujm987987 M
https://stackoverflow.com/questions/56518454
复制相似问题