R的一个小问题

匿名
楼主 (北美微论坛)
本帖最后由 匿名 于 2018-5-24 14:49 编辑

想把小数点变成%,用了percent function,但是出来的结果好奇怪

b[1]=.7526392
percent(b)都是四舍五入了,例如percent(b[1])应该是75%,却变成了80%
但是如果只看percent(b[1])的话,百分比里有一一位小数点 75.3%
如果看b[1:10]的话,百分比没有小数点 75%

我看了一下percent()这个function,是这么说的,
percent(x)
Arguments
x        
a numeric vector to format
Value
a function with single parameter x, a numeric vector, that returns a character vector
percent()也没别的parameter了

求指导 谢谢
j
jameslee1992
2 楼
小数点后第二位进行四舍五入
0.75就是变成0.80
你要设置小数点后第三位进行四舍五入
匿名
3 楼

小数点后第二位进行四舍五入
0.75就是变成0.80
你要设置小数点后第三位进行四舍五入 ...

谢谢但是怎么设置 这个function只有一个parameter
匿名
4 楼

小数点后第二位进行四舍五入
0.75就是变成0.80
你要设置小数点后第三位进行四舍五入 ...

但是b[1]跟b[1:10]的rounding怎么也不一样呢
j
jameslee1992
5 楼

但是b[1]跟b[1:10]的rounding怎么也不一样呢

一个是单个的数字,一个是vector/matrix
处理方法可能不一样,这个经常发生
可以用apply或者lapply
或者用for自己循环读