小编use*_*862的帖子

基于小数点前位数的不同舍入规则

假设我们有以下数值向量:

y=c(0.111,1.11,11.1,111.1)
Run Code Online (Sandbox Code Playgroud)

我希望它四舍五入如下:

0.11,1.11,11.1,111  
Run Code Online (Sandbox Code Playgroud)

这个规则很简单:我总共要三位数!但如果数字很大(例如 1111 或 11111),则保留所有数字,但不包含任何小数。

当然,必须有一个更简单的解决方案?:

lapply(y,function(x){
  ifelse(nchar(as.integer(x))<1,round(x,digits=3),
         ifelse(nchar(as.integer(x))==1,round(x,digits=2),
                ifelse(nchar(as.integer(x))==2,round(x,digits=1),
                       ifelse(nchar(as.integer(x))>2,round(x,digits=0)
                       ))))
}
)
Run Code Online (Sandbox Code Playgroud)

r rounding digits

4
推荐指数
1
解决办法
91
查看次数

使用 R 将多行合并为一

假设我有这个数据框:

Col1  Col2  
ABC  Hello   
ABC  Hi  
ABC  Bye  
Run Code Online (Sandbox Code Playgroud)

并且想要这样:

Col1  Col2  
ABC  Hello,Hi,Bye  
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×2

digits ×1

rounding ×1