我有一个数据集,其中有来自多个调查的文本回复。回答是使用李克特量表完成的,但文本没有标准化。例如:
#create df
df<- data.frame(
id = c('person1','person2','person3'),
category = c('I am 0-10 years old', 'I am 11-20 years old', 'I am between 21-30 years old'),
Q1.do.you.feel.tired.everyday = c('no, never', 'yes, sometimes', 'yes some-times'))
问题 1:如何将字符串 'yes, some-times' 突变为 'yes, times'
问题2:如何更改类别栏的文本?我想去掉“介于”这个词,那么如何将“我在 21-30 岁之间”更改为“我在 21-30 岁”
感谢您的帮助!
我想回答 Q1 因素,所以我使用了:
df<- mutate(df, across(where(is.character), as.factor))
但是,“是的,有时”和“是的,有时”表现为两个不同的层面。所以该列是一个具有 3 个水平的因子,而不是 2 个水平。
library(dplyr)
df |>
mutate(category = gsub("between ", "", category, fixed = TRUE),
Q1.do.you.feel.tired.everyday = ifelse(Q1.do.you.feel.tired.everyday == "yes some-times", "yes, sometimes", Q1.do.you.feel.tired.everyday),
across(where(is.character), factor))
# id category Q1.do.you.feel.tired.everyday
# 1 person1 I am 0-10 years old no, never
# 2 person2 I am 11-20 years old yes, sometimes
# 3 person3 I am 21-30 years old yes, sometimes