R 使用;级别“;陈述
关于使用“级别”跨数据框的列折叠因子的快速问题。下面是基本数据框的代码R 使用;级别“;陈述,r,R,关于使用“级别”跨数据框的列折叠因子的快速问题。下面是基本数据框的代码 Service<-c("AS","AS","PS","PS","RS","RS","ES","ES") Year<-c("2015","2016","2015","2016","2015","2016","2015","2016") Q1<-c("Dissatisfied","Satisfied","Satisfied","Neutral","Dissatisfied","Dissatisfied","
Service<-c("AS","AS","PS","PS","RS","RS","ES","ES")
Year<-c("2015","2016","2015","2016","2015","2016","2015","2016")
Q1<-c("Dissatisfied","Satisfied","Satisfied","Neutral","Dissatisfied","Dissatisfied","Satisfied","Neutral")
Q2<-c("Dissatisfied","Neutral","Satisfied","Dissatisfied","Dissatisfied","Neutral","Satisfied","Satisfied")
Example<-data.frame(Service,Year,Q1,Q2)
服务我们可以使用lappy
。创建要子集的列的索引。在这里,列名以“Q”开头,后跟数字(^Q\\d+
)。使用grep
获取索引,然后在这些列上使用lappy
,并使用library(car)
中的recode
更改级别
nm1 <- grep("^Q\\d+", names(Example))
Example[nm1] <- lapply(Example[nm1], recode,
'c("Satisified", "Neutral")= "Satisfied"')
nm1我们可以使用lappy
。创建要子集的列的索引。在这里,列名以“Q”开头,后跟数字(^Q\\d+
)。使用grep
获取索引,然后在这些列上使用lappy
,并使用library(car)
中的recode
更改级别
nm1 <- grep("^Q\\d+", names(Example))
Example[nm1] <- lapply(Example[nm1], recode,
'c("Satisified", "Neutral")= "Satisfied"')
nm1我认为你的手术不可能。我想我记得,这种折叠因子级别的方式被严重反对,它会抛出一个错误,但由于它适用于一列,它应该(并且确实)适用于多列
Example[3:4] <- lapply(Example[3:4], 'levels<-', c("Dissatisfied","Satisfied","Satisfied") )
Example
Service Year Q1 Q2
1 AS 2015 Dissatisfied Dissatisfied
2 AS 2016 Satisfied Satisfied
3 PS 2015 Satisfied Satisfied
4 PS 2016 Satisfied Dissatisfied
5 RS 2015 Dissatisfied Dissatisfied
6 RS 2016 Dissatisfied Satisfied
7 ES 2015 Satisfied Satisfied
8 ES 2016 Satisfied Satisfied
示例[3:4]我认为您的操作不可能。我想我记得,这种折叠因子级别的方式被严重反对,它会抛出一个错误,但由于它适用于一列,它应该(并且确实)适用于多列
Example[3:4] <- lapply(Example[3:4], 'levels<-', c("Dissatisfied","Satisfied","Satisfied") )
Example
Service Year Q1 Q2
1 AS 2015 Dissatisfied Dissatisfied
2 AS 2016 Satisfied Satisfied
3 PS 2015 Satisfied Satisfied
4 PS 2016 Satisfied Dissatisfied
5 RS 2015 Dissatisfied Dissatisfied
6 RS 2016 Dissatisfied Satisfied
7 ES 2015 Satisfied Satisfied
8 ES 2016 Satisfied Satisfied
示例[3:4]感谢您的回答。快速提问,为什么代码需要在“levelsThanks”周围加括号来回答。快速提问,为什么代码需要在“级别”周围加括号