如何在格式化列的科学数字时传递dplyr :: mutate_at的参数

时间:2017-04-12 05:57:09

标签: r dplyr

我有以下代码,尝试转换第1列和第3列 科学的格式。

library(dplyr)
mtcars %>% 
mutate_at(c(1,3),.funs = format,  digits=3, scientific=5) %>%
top_n(.,n=5,mpg)

#   mpg cyl  disp  hp drat    wt  qsec vs am gear carb
# 1 32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
# 2 30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
# 3 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
# 4 27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
# 5 30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2

正如你所看到的,它并没有改变。什么是正确的方法?

1 个答案:

答案 0 :(得分:2)

scientific参数需要logical输入

mtcars %>% 
     mutate_at(c(1,3),.funs = format,  digits=3, scientific=TRUE) %>%
     top_n(.,n=5,mpg)