我有一个数据框如下:
A B C D E F G
AA 1 2 3 4 5 6
BB 3 2 1 9 23 2.6
CC 2 5 1 1.9 2.5 2.99
Run Code Online (Sandbox Code Playgroud)
如何使用 scales 包更改此数据框以将所有列转换为美元格式?对于单列,我可以这样做:
library(scales)
df$B<-dollar(df$B)
Run Code Online (Sandbox Code Playgroud)
我如何为除第一列之外的所有列执行此操作,而无需为每一列一遍又一遍地编写?
我们可以这样做 lapply
df[-1] <- lapply(df[-1], dollar)
df
# A B C D E F G
#1 AA $1 $2 $3 $4.00 $5.00 $6.00
#2 BB $3 $2 $1 $9.00 $23.00 $2.60
#3 CC $2 $5 $1 $1.90 $2.50 $2.99
Run Code Online (Sandbox Code Playgroud)
或使用 tidyverse
library(tidyverse)
df %>%
mutate_at(vars(B:G), dollar)
Run Code Online (Sandbox Code Playgroud)