繁体   English   中英

R:如何总结类别?

[英]R: How to summarize categories?

我有 60 个生命类别(称为 CAT)forms(熊、老虎、鲸鱼、树木等),我想为它们分配 10 个汇总类别(称为主题)。

> dt <- fread("lifeforms.csv")
> head(dt)
      CAT COUNT
1:  bears    10
2: tigers     3
3: whales     9

如果不是很多,我会简单地使用:

dt$THEME[dt$CAT=="tigers" | dt$CAT=="bears"]="Mammals"

但是对于我的 60 个不同的 CAT 值和 10 个主题来说,这需要的时间太长而且太混乱了。 我在另一个 data.table 中有“查找”表:

> catthemes <- fread("catthemes.csv")
> catthemes
      CAT   THEME
1:  bears Mammals
2: tigers Mammals

请问怎么做?

CAT <- c("bears", "tigers", "whales", "lizards")
COUNT <- c(10, 3, 9, 15)
THEME <- c("Mammals", "Mammals", "Mammals", "Reptiles")

lifeforms <- data.frame(CAT, COUNT)
catthemes <- data.frame(CAT, THEME)


new_lifeforms <- merge(lifeforms, catthemes, by="CAT")

      CAT COUNT    THEME
1   bears    10  Mammals
2 lizards    15 Reptiles
3  tigers     3  Mammals
4  whales     9  Mammals

使用inner_join的选项

library(dplyr)
inner_join(lifeforms, catthemes, by = 'CAT')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM