【问题标题】:Convert Numbers with Comma (,) separation R [duplicate]用逗号 (,) 分隔 R 转换数字 [重复]
【发布时间】:2018-02-26 19:30:14
【问题描述】:

我的数据框看起来像:

Var1    Var2      Var3     Var4
A       100000    5000     15000
B       1000000   2500     200

我想将它们转换为下面提到的数据框。

所需输出:

Var1    Var2        Var3     Var4
A       1,00,000    5,000     15,000
B       10,00,000   2,500     200

【问题讨论】:

  • 我认为here 可能是答案
  • 你确定 Var2 输出吗?

标签: r dataframe dplyr


【解决方案1】:

你可以使用prettyNum函数:

prettyNum("100000",big.interval = 3,  big.mark = ",")
[1] "100,000"

要在整个数据帧范围内进行此转换,您可以使用:

library(purrr)
map_df(a, prettyNum ,big.interval = 3,  big.mark = ",")
# A tibble: 2 x 4
Var1  Var2      Var3  Var4  
<chr> <chr>     <chr> <chr> 
1 A     100,000   5,000 15,000
2 B     1,000,000 2,500 200   

【讨论】:

    【解决方案2】:

    您可以使用scales 包中的comma 转换为逗号。要在数据框上的所有列上运行,我们可以将其包装在一个 sapply 函数中:

    sapply(df, function(x) scales::comma(x)) 
    
         Var1 Var2        Var3    Var4    
    [1,] "A"  "100,000"   "5,000" "15,000"
    [2,] "B"  "1,000,000" "2,500" "200"    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多