更改R中数据框列的十进制数字

时间:2014-11-03 18:59:54

标签: r

有关显示某些数字的问题已经发布,但是,仅针对单个值或向量,所以我希望有人可以帮助我。

我有一个包含多个列的数据框,并希望在一列中显示所有值,并带有两位小数(仅限此列)。我尝试了round()和format()和选项(数字),但没有一个在列上(数字)。我想知道是否有一种方法可以做到这一点,而无需额外的方法将列转换为向量并再次粘合在一起。

非常感谢!

1 个答案:

答案 0 :(得分:5)

以下是如何使用随R安装的cars data.frame执行此操作的示例。

首先,我会添加一些可变性,以便我们有小数位数:

data=cars+runif(nrow(cars))

然后将一列(在这种情况下为dist列)舍入到2个小数位:

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

如果您的数据包含整数,那么您可以使用以下方法保证所有值都有2位小数:

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