北美微论坛

App下载
扫码下载 App
联系我们
1框架
查看: 250|回复: 4
打印 上一主题 下一主题

[学习/校园/考试] R的一个小问题

[复制链接]
匿名
跳转到指定楼层
楼主
匿名  发表于 2018-5-24 14:48:13 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 匿名 于 2018-5-24 14:49 编辑

想把小数点变成%,用了percent function,但是出来的结果好奇怪
Capture.PNG
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了

求指导 谢谢
收藏收藏 分享分享 赞赞赞!赞赞赞! 踩踩踩!踩踩踩! 新浪微博微博分享
回复

使用道具 举报

副教授

穷穷穷穷穷啊

Rank: 9Rank: 9Rank: 9

最佳新人

沙发
发表于 2018-5-24 15:10:36 | 只看该作者
小数点后第二位进行四舍五入
0.75就是变成0.80
你要设置小数点后第三位进行四舍五入
回复

使用道具 举报

匿名 (楼主)
板凳
匿名  发表于 2018-5-24 15:15:28
jameslee1992 发表于 2018-5-24 15:10
小数点后第二位进行四舍五入
0.75就是变成0.80
你要设置小数点后第三位进行四舍五入 ...

谢谢但是怎么设置 这个function只有一个parameter
回复

使用道具 举报

匿名 (楼主)
地板
匿名  发表于 2018-5-24 15:18:20
jameslee1992 发表于 2018-5-24 15:10
小数点后第二位进行四舍五入
0.75就是变成0.80
你要设置小数点后第三位进行四舍五入 ...

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

使用道具 举报

副教授

穷穷穷穷穷啊

Rank: 9Rank: 9Rank: 9

最佳新人

5#
发表于 2018-5-24 15:30:10 | 只看该作者
匿名者 发表于 2018-5-24 15:18
但是b[1]跟b[1:10]的rounding怎么也不一样呢

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部