R中的计算矩阵

时间:2017-04-30 20:10:09

标签: r

体重指数(BMI)是个体身高与体重之间关系的生物测量指标。 BMI数据汇编在以下载体中:

imc <- c (18, 19, 24, 25, 30, 35, 30, 20, 18, 15)

对这些群体进行分类的专家标准如下:

  

低(<18.55);正常(18.55-25)和超重(> 30)

使用此信息创建imcRangos中名为imc的因子向量,其中显示值lownormaloverweight

我需要一些帮助。

2 个答案:

答案 0 :(得分:1)

即使您没有为所需的输出提供适当的示例,我也会尝试根据我对您的帖子的理解来回答您的问题。

如果您希望将值lownormaloverweight简单分配给BMI值,则可以使用dplyr

library(dplyr)

imc <- c(18, 19, 24, 25, 30, 35, 30, 20, 18, 15)

table <- data.frame(imc) %>%
  mutate(imcRangos = ifelse(imc < 18.55, "low", ifelse(imc > 30, "overweight", "normal")))

结果如下:

   imc  imcRangos
1   18        low
2   19     normal
3   24     normal
4   25     normal
5   30     normal
6   35 overweight
7   30     normal
8   20     normal
9   18        low
10  15        low

答案 1 :(得分:0)

我们可以使用cutfoverlaps

轻松完成此操作
cut(imc, breaks = c(-Inf, 18.55, 30, Inf), labels = c("low", "normal", "overweight"))
#[1] low        normal     normal     normal     normal     overweight normal     normal    
#[9] low        low       
#Levels: low normal overweight