我有一个数据框,我希望对所有的数字进行四舍五入(准备导出).这一定很简单,但我遇到了一些问题,因为数据帧的某些位不是数字.例如,我想在下面的例子中将数字四舍五入到最接近的整数:

ID = c("a","b","c","d","e")
Value1 = c("3.4","6.4","8.7","1.1","0.1")
Value2 = c("8.2","1.7","6.4","1.9","10.3")
df<-data.frame(ID,Value1,Value2)

有人能帮我吗?我可以对单个列(例如round(df$Value1, 2))进行四舍五入,但我想对包含一些非数字列的整张表进行四舍五入.

推荐答案

首先确保数字列是数字:

ID = c("a","b","c","d","e")
Value1 = as.numeric(c("3.4","6.4","8.7","1.1","0.1"))
Value2 = as.numeric(c("8.2","1.7","6.4","1.9","10.3"))
df<-data.frame(ID,Value1,Value2, stringsAsFactors = FALSE)

然后,只对数字列进行四舍五入:

df[,-1] <-round(df[,-1],0) #the "-1" excludes column 1
df

  ID Value1 Value2
1  a      3      8
2  b      6      2
3  c      9      6
4  d      1      2
5  e      0     10

R相关问答推荐

for循环和if else在R中

仅在ggplot的每个方面绘制最丰富的物种

R通过字符串中的索引连接数据帧r

如何将y轴上的线定位得彼此更近

根据列表中项目的名称多次合并数据框和列表

从gtsummary包中使用tBL_strata()和tBL_summary()时删除变量标签

S用事件解决物质平衡问题

提取一个列表中单个列的重复观察结果R

如何识别倒排的行并在R中删除它们?

Geom_Hline将不会出现,而它以前出现了

在多页PDF中以特定布局排列的绘图列表不起作用

在另一个包中设置断点&S R函数

在不对R中的变量分组的情况下取两行的平均值

如何显示准确的p值而不是<;0.001*?

访问数据帧中未定义的列时出现R错误

如何在条形图中的x和填充变量中包含多个响应变量?

主题(Legend.key=Element_RECT(Fill=&Quot;White&Quot;))不起作用

变异以按组从其他列创建具有最大和最小值的新列

如何在内联代码中添加额外的空格(R Markdown)

使用ggplot2绘制具有边缘分布的坡度图