在R语言中,可以使用tidyr包中的pivot_wider函数来实现保留已知重复项的操作。下面是一个示例代码:
假设我们有以下的数据框df:
df <- data.frame(
id = c(1, 1, 2, 2, 3, 3),
type = c("A", "B", "A", "B", "A", "B"),
value = c(10, 20, 30, 40, 50, 60)
)
df
输出结果如下:
id type value
1 1 A 10
2 1 B 20
3 2 A 30
4 2 B 40
5 3 A 50
6 3 B 60
现在我们想要将" type"列的值转化为列名,并且将对应的值填入新的列中。同时,我们希望保留已知重复项。可以使用pivot_wider函数来实现:
library(tidyr)
df_wide <- pivot_wider(df, names_from = type, values_from = value)
df_wide
输出结果如下:
# A tibble: 3 x 3
id A B
1 1 10 20
2 2 30 40
3 3 50 60
在这个例子中,我们将" type"列的值转化为了两个新的列"A"和"B",并且将对应的值填入新的列中。同时,已知重复项的"id"列被保留了下来。