相关疑难解决方法(0)

在dplyr中重新编码和Mutate_all

我正在尝试使用recode和mutate_all来重新编码列.但是,出于某种原因,我收到了一个错误.我相信这篇文章类似于如何使用dplyr重新编码(和反向代码)列中的变量,但该帖子中的答案使用了lapply函数.

这是我在阅读dplyr软件包的帮助pdf后尝试的内容.

by_species<-matrix(c(1,2,3,4),2,2)
tbl_species<-as_data_frame(by_species)
tbl_species %>% mutate_all(funs(. * 0.4))
# A tibble: 2 x 2
     V1    V2
  <dbl> <dbl>
1   0.4   1.2
2   0.8   1.6
Run Code Online (Sandbox Code Playgroud)

所以,这很好用.

但是,这不起作用:

grades<-matrix(c("A","A-","B","C","D","B-","C","C","F"),3,3)
tbl_grades <- as_data_frame(grades)
tbl_grades %>% mutate_all(funs(dplyr::recode(.,A = '4.0')))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

    Error in vapply(dots[missing_names], function(x) make_name(x$expr), character(1)) : 
values must be length 1,
but FUN(X[[1]]) result is length 3
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下问题是什么以及为什么上面的代码不起作用?

我很感激任何帮助.

谢谢

r dplyr

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

dplyr ×1

r ×1