【问题标题】:Assigning labels to values [duplicate]为值分配标签[重复]
【发布时间】:2017-09-14 05:38:31
【问题描述】:

我有一个数字为 1:70 的数据集,对应于城市内的社区名称。数据设置如下:

    Date | Area | Count
   04/16    1       12
   04/16    1       1
   05/16    2       3
   06/16    3       10

我有另一个带有区域编号和相应区域名称的数据框。

Number | Name
  1       Franklin
  2       State

如何将区域编号值分配给其对应的名称,而无需输入每个编号和名称?

【问题讨论】:

  • 使用match ~~ dat$new=dat1$Name[match(dat$Area,dat1$Number)]

标签: r


【解决方案1】:

您可以通过match 做到这一点

## Your data
dat = read.table(text="   Date  Area  Count
   04/16    1       12
   04/16    1       1
   05/16    2       3
   06/16    3       10",
header=TRUE, stringsAsFactors=FALSE)

areas = read.table(text="Number  Name
  1       Franklin
  2       State",
header=TRUE, stringsAsFactors=FALSE)

areas$Name[match(dat$Area, areas$Number)]
[1] "Franklin" "Franklin" "State"    NA  

【讨论】:

    【解决方案2】:

    如果你给我们可重复的数据会更容易,但是像这样:

    df1$AreaName <- df2$Name[match(df1$Area, df2$Area)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 2020-12-13
      • 2014-07-29
      • 2020-07-20
      相关资源
      最近更新 更多