假设我们有这个数据集
I W X Y Z
1 1.785714 0.71428570 78.428571 19.98857
2 85.471429 2.8285714 1.285714 15.44857
我想写代码,只保留两个或三个数字后面的点/逗号和删除其余的整个数据集成为
I W X Y Z
1 1.78 0.71 78.42 19.98
2 85.47 2.82 1.28 15.44
请帮帮我,谢谢你
您可以使用floor()
,它舍入到下一个最小的整数
> floor(df1*100)/100
# I W X Y Z
#1 1 1.78 0.71 78.42 19.98
#2 2 85.47 2.82 1.28 15.44
如果只有正数,这很好。如果您想截断某个数字之后的数字,trunc()
更可取,因为它既适用于负数,也适用于正数:
> trunc(df1*100)/100
# I W X Y Z
#1 1 1.78 0.71 78.42 19.98
#2 2 85.47 2.82 1.28 15.44
这里给出了相同的结果。这里使用100的乘法和除法截断第二个数字之后的值。
df1 <-read.table( text="I W X Y Z
1 1.785714 0.71428570 78.428571 19.98857
2 85.471429 2.8285714 1.285714 15.44857", header=T)