尝试在 R 中做一个简单的支点,就像在 SQL 中一样。
我知道有人问过这个问题,但是我遇到了重复行的问题。
Pivoting data in R
目前数据采用这种格式(字符只是为了便于查看的占位符。实际数据是数字):
V1 V2 V3 V4
A B C Sales
D E F Sales
G H I Technical
J K L Technical
并且需要转换成这种格式:
Variable Sales Technical
V1 A G
V1 D J
V2 B H
V2 E K
V3 C I
V3 F L
我已经尝试过 reshape 和 tidyr 包,它们要么在 reshape 的情况下聚合数据,要么在 tidyr 的情况下为重复的行标识符抛出错误。
我不关心重复的行标识符,事实上有必要将它们识别为分析因素。
我会以错误的方式解决这个问题吗?这些是要使用的正确软件包还是有人可以建议另一种方法?
最佳答案
我希望这会奏效:
df %>% gather(Variable, Value, V1:V3) %>%
group_by(V4, Variable) %>%
mutate(g = row_number()) %>%
spread(V4, Value) %>% ungroup() %>%
select(-g)
# # A tibble: 6 x 3
# Variable Sales Technical
# * <chr> <chr> <chr>
# 1 V1 A G
# 2 V1 D J
# 3 V2 B H
# 4 V2 E K
# 5 V3 C I
# 6 V3 F L
关于r - 在 R 中旋转具有重复行的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44579405/