【问题标题】:Create a categorical variable (age categories) and apply to a table创建分类变量(年龄类别)并应用于表格
【发布时间】:2020-04-28 19:38:01
【问题描述】:

我正在处理一个包含许多变量的大表,包括“年龄”。 这是我的表格的示例:

  1. 年龄 Var2 Var3 Var4 Var5
  2. 32 约翰格林结婚 6'1
  3. 47 朱莉娅斯通离婚 5'4
  4. 72 Mike White 离婚 5'8

...

我正在尝试在此表中添加一个变量,将年龄分类为 10 岁,从 20 岁开始。

我已经创建了我的标准:

mydata$age[mydata$age>=20 & mydata$age<=29] <- "20-29"
mydata$age[mydata$age>=30 & mydata$age<=39] <- "30-39"
mydata$age[mydata$age>=40 & mydata$age<=49] <- "40-49"
mydata$age[mydata$age>=50 & mydata$age<=59] <- "50-59"
mydata$age[mydata$age>=60 & mydata$age<=69] <- "60-69"
mydata$age[mydata$age>=70 & mydata$age<=79] <- "70-79"

现在,我想将此作为变量添加到我的表中。所以我希望这个变量将正确的年龄类别应用于我的数据表中列出的每个年龄。以下是它的外观示例:

  1. 年龄 Var2 Var3 Var4 Var5 AgeClass
  2. 32 John Green 已婚 6'1 30-39
  3. 47 朱莉娅斯通离婚 5'4 40-49
  4. 72 Mike White 离婚 5'8 70-79 ...

有人知道怎么做吗? 谢谢!

【问题讨论】:

    标签: r categorical-data


    【解决方案1】:

    cut 函数怎么样,例如,

    df = data.frame(Age=c(32,47,72), 
                    Var2=c("John","Julia","Mike"), 
                    Var3=c("Green","Stone","White"),
                    Var4=c("Married","Divorced","Divorced"),
                    Var5=c("6'1","5'4","5'8"))
    df$age = cut(df$Age,breaks = seq(20,80,10), 
                 labels=paste0(seq(20,70,10),"-",seq(30,80,10)-1))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      相关资源
      最近更新 更多