当字符值相等时,如何合并数据行? (右)

How can I combine rows of data when their character values are equal? (R)

我有一个通过观察记录的数据集(每个观察都有自己的一行数据)。我正在寻找 combine/condense 这些行,它们所在的工厂 - 当前是一个字符变量。所有其他列都是数值。

例子:

这是原始数据 |Sci_Name|Honeybee_count|Other_bee_Obsevrved|Stem_count| |---|---|---|---| |紫蔘|1|5|10| |绿色萝卜|15|1|3| |中提琴未知|0|0|4| |紫蔘|0|2|6| |荸荠|3|6|3| |绿色萝卜|8|2|17|

我想要:

Sci_Name Honeybee_count Other_bee_Obsevrved Stem_count
金缕梅 4 13 19
绿色萝卜 23 3 20
中提琴未知 0 0 4

我目前正在从 table 格式的 CSV 文件中提取这些数据。我一直在尝试创建一个新的 table/data 框架,其中包含每个植物物种的一个条目,并为每个其他变量创建 blanks/0s,然后我可以使用它来将两者绑定在一起。然而,这充其量是笨拙的,我无法弄清楚如何让每一行自行检查。我对任何方法都持开放态度,让我知道你的想法!

谢谢 :D

我们可以使用base Raggregate中的公式方法。在 ~ 的右侧,指定分组变量,在左侧,使用 . 表示其余变量。将 FUN 指定为 sum,它将按组

进行列式求和
aggregate(. ~ Sci_Name, df1, sum)

-输出

            Sci_Name Honeybee_count Other_bee_Obsevrved Stem_count
1 Asclepias viridiflora             23                   3         20
2         Viola unknown              0                   0          4
3           Zizia aurea              4                  13         19

数据

df1 <- structure(list(Sci_Name = c("Zizia aurea", "Asclepias viridiflora", 
"Viola unknown", "Zizia aurea", "Zizia aurea", "Asclepias viridiflora"
), Honeybee_count = c(1L, 15L, 0L, 0L, 3L, 8L), Other_bee_Obsevrved = c(5L, 
1L, 0L, 2L, 6L, 2L), Stem_count = c(10L, 3L, 4L, 6L, 3L, 17L)), 
class = "data.frame", row.names = c(NA, 
-6L))