【发布时间】:2019-12-31 18:36:23
【问题描述】:
鉴于此数据:
+----+---------+----------+------+------+------+
| id | type | name | var1 | var2 | var3 |
+----+---------+----------+------+------+------+
| 10 | Country | Norway | 169 | 14 | 164 |
| 10 | Sport | Skii | 169 | 14 | 164 |
| 10 | Format | Video | 169 | 14 | 164 |
| 11 | Country | Spain | 150 | 16 | 178 |
| 11 | Format | Photo | 150 | 16 | 178 |
| 11 | Sport | Bike | 150 | 16 | 178 |
| 11 | Sport | Soccer | 150 | 16 | 178 |
| 11 | Sport | Basket | 150 | 16 | 178 |
| 12 | Country | USA | 0 | 0 | 0 |
| 12 | Format | Video | 0 | NA | 0 |
| 12 | Sport | Baseball | 0 | 0 | 0 |
+----+---------+----------+------+------+------+
什么是最简单,最干净的传播方式如下:
+----+------+------+------+---------+--------+----------+---------+---------+
| id | var1 | var2 | var3 | Country | Format | Sport_1 | Sport_2 | Sport_3 |
+----+------+------+------+---------+--------+----------+---------+---------+
| 10 | 169 | 14 | 164 | Norway | Video | Skii | NA | NA |
| 11 | 150 | 16 | 178 | Spain | Photo | Bike | Soccer | Basket |
| 12 | 0 | 0 | 0 | USA | Video | Baseball | NA | NA |
+----+------+------+------+---------+--------+----------+---------+---------+
还要注意 id 12 的 NA。
我尝试过使用:
data2 <- data %>% pivot_wider(names_from = type, values_from = name)
但它给了我一个警告,说“名称”中的值不是唯一标识的,这对于 id 11 是正确的(类型 Sport 重复了 3 次)。
另外,我希望 id 12 中的 NA 也会产生问题,因为该函数不会组合在一起:
| 12 | Country | USA | 0 | 0 | 0 |
| 12 | Sport | Baseball | 0 | 0 | 0 |
还有这个:
| 12 | Format | Video | 0 | NA | 0 |
因为 NA,尽管拥有相同的 id。
非常感谢任何帮助。非常感谢!
【问题讨论】:
-
你能用
dput显示数据吗