2014-11-03 50 views
1

有关显示特定位数的问题已发布,但仅适用于单个值或向量,所以我希望有人能帮助我解决这个问题。更改R中数据帧列的小数位数

我有一个数据框与几列,并希望显示在一个列中有两个小数位(仅此列)的所有值。我尝试过round()和format()和options(数字),但没有一个在列上工作(数字)。我想知道是否有一种方法可以做到这一点,而无需将列转换为矢量并再次粘合在一起。

非常感谢!

+1

你可以显示你试过(代码)? – user1477388 2014-11-03 19:02:50

+0

不幸的是,删除它,当它没有工作.. :( – Kristina 2014-11-03 20:37:38

回答

5

这里有一个如何使用自带安装了R.

首先cars data.frame做到这一点的例子,让我们有小数位的数字,我会添加一些变化:

data=cars+runif(nrow(cars)) 

然后圆刚一列(在这种情况下,dist列到小数点后2位):

data[,'dist']=round(data[,'dist'],2) 

如果您的数据包含谁le号码,那么你可以保证所有的值将有两位小数使用:

cars[,'dist']=format(round(cars[,'dist'],2),nsmall=2) 
+0

谢谢你的CephBirk,我可以看到它背后的逻辑,不幸的是它没有工作。问题是,我实际上分4位数字例如8000)乘以100得到80.00(这是一个十进制时间测量),所以R不想显示它。试图用Excel改变数字,但不会输入到R中,小数位(例如0.01)到列的顶部,R显示其余为80.00,但只要我删除0.01 R跳回到80.发生一个方法只是把一个点放在第二个数字之后? – Kristina 2014-11-03 20:40:40