使用dplyr(或其他方式)在R中重新编码

时间:2018-09-21 14:48:02

标签: r

我确定R方面尚无专家。我从SPSS长大,然后慢慢转向R。遇到问题时就解决问题。当我迷路时寻求帮助。

请查看以下代码:

dataset$v18[dataset$s_18 == 1] <- "Agree"
dataset$v18[dataset$s_18 == 2] <- "Partly Agree"
dataset$v18[dataset$s_18 == 3] <- "Neutral"
dataset$v18[dataset$s_18 == 4] <- "Partly disagree"
dataset$v18[dataset$s_18 == 5] <- "Disagree"

sv18x <- dataset %>%
  filter(!is.na(v18)) %>%
  group_by(v18) %>% 
  dplyr::summarise(count=n()) %>% 
  mutate(pct=count/sum(count)*100) 

sv18x$v18 <- factor(sv18x$v18,levels = c("Agree", "Partly agree", "Neutral", "Partly disagree", "Disagree uenig"))
sv18x$pct<- trunc(sv18x$pct)

我很自信可以用更短和更聪明的方式完成此操作。而且我认为应该使用dplyr :: recode()和其他我可能还不知道的东西来完成。我只是不知道该怎么做。有人可以给我提示吗?

1 个答案:

答案 0 :(得分:1)

我模拟了一个可复制的示例来帮助您,但是如果没有真实的数据集,很难知道您想要什么。第一部分可以使用dplyr :: case_when()完成,而百分比部分可以使用janitor软件包完成。

00000000001

希望这会有所帮助!