R语言计算BMI并追加到数据框时如何保留三位或四位小数
问题根因
你当前的参数位置存在错误:digits是round()函数的配置参数,你错误将其写在了as.numeric(data[, 4])的入参括号内,导致round()没有接收到自定义保留位数的参数,默认使用digits=0(即取整),所以调整参数始终不生效。
修正代码
保留3位小数
Body_Mass_Index <- round( as.numeric(data[, 4]) / (as.numeric(data[, 3])/100)^2, digits = 3 ) # 追加到原数据框,用$赋值更稳妥,避免变量空格带来的调用问题 data$Body_Mass_Index <- Body_Mass_Index
保留4位小数
只需要将上述代码里的digits = 3修改为digits = 4即可。
注意事项
- 变量名建议不要使用空格,后续调用带空格的列名需要额外加反引号,容易触发语法错误,统一改成下划线分隔的命名更规范
- 不需要额外套
as.data.frame()处理cbind的结果,cbind输入包含数据框时,输出默认就是数据框格式
内容的提问来源于stack exchange,提问作者CoderinProgress
相关产品推荐
相关产品推荐

