假设我们有以下数值向量:
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) 假设我有这个数据框:
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)