如何在R语言生成的表格中为Height、Weight、BMI列添加单位
解决方案
你可以通过两种常用方式实现带单位的列名展示,无需改动核心计算逻辑:
方法1:修改原始数据框列名
适合接受修改原始数据结构的场景,直接修改列名后再生成表格即可:
Height <- c(66, 73, 65, 68, 71) Weight <- c(121,191,177,159,152) # 磅转千克、英寸转米 # BMI计算公式=kg/m² BMI = Weight * 0.45/(Height * 0.02)^2 expn <- data.frame (Height, Weight, BMI) # 新增:修改列名添加单位 colnames(expn) <- c("Height (in)", "Weight (lb)", "BMI (kg/m²)") knitr::kable (expn, caption = "身体测量数据", align = c ("c", "c", "c"))
注意:原代码中align参数只设置了2个对齐规则,你总共3个字段,需要补充为3个对齐参数,否则会出现规则不匹配的问题。
方法2:通过kable的col.names参数临时指定列名
适合不想修改原始数据框的场景,仅在生成表格时调整展示的列名,不影响后续对原始数据的调用:
Height <- c(66, 73, 65, 68, 71) Weight <- c(121,191,177,159,152) # 磅转千克、英寸转米 # BMI计算公式=kg/m² BMI = Weight * 0.45/(Height * 0.02)^2 expn <- data.frame (Height, Weight, BMI) # 直接在kable中指定展示用的列名,不修改原始expn数据 knitr::kable (expn, col.names = c("Height (in)", "Weight (lb)", "BMI (kg/m²)"), caption = "身体测量数据", align = c ("c", "c", "c"))
内容的提问来源于stack exchange,提问作者angel_30
相关产品推荐
相关产品推荐

