【发布时间】:2021-04-29 13:44:19
【问题描述】:
我有下表:
| | Red | Green | Blue | Yellow | Brown | Purple | Black |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Apple | A | B | D | D | C | F | E |
| Pear | A | B | C | B | C | F | B |
| Orange | A | B | C | B | C | F | B |
| Strawberry | A | C | D | D | C | F | D |
| Lemon | E | C | D | D | C | F | D |
基于类似这样的样本数据:
输入数据
ID Colour Fruit
1 Red Apple
2 Red Orange
3 Green Lemon
4 Brown Strawberry
...
1000 Brown Strawberry
我想在输入数据中生成一个附加列(组),表示上表中的值,以便输出如下所示:
输出数据
ID Colour Fruit Group
1 Red Apple A
2 Red Orange A
3 Green Lemon C
4 Brown Strawberry F
...
1000 Brown Strawberry F
我看过这个问题:Generate new column values based on comparison of two other columns in R,这是对我的示例的过度简化,并且使用了 ifelse() 语句。
是否有另一种方法可以在数千行和可能的配对组合中执行此操作,而不是扩展 ifelse() 语句?
dplyr 包具有 mutate 和 filter 功能,但我不知道如何在此示例中组合它们。
【问题讨论】:
-
给定数据表中的条目数因各行而异,例如Strawberry 行包含 6 个,而另一个包含 7 个。您能否以适当的格式提供示例数据?
-
表已更正,因此所有行都有 7 个条目
-
它没有达到您的目的吗?我制定了与您分享的示例完全相同的示例!