gpt4 book ai didi

r - 如何每 n 行转置一个长数据帧

转载 作者:行者123 更新时间:2023-12-01 11:46:57 25 4
gpt4 key购买 nike

我有一个这样的数据框:

x=data.frame(type = c('a','b','c','a','b','a','b','c'),
value=c(5,2,3,2,10,6,7,8))

每个item都有属性a,b,c,而有些记录可能会缺失记录,即只有a和b

期望的输出是

y=data.frame(item=c(1,2,3), a=c(5,2,6), b=c(2,10,7), c=c(3,NA,8))

如何将 x 转换为 y?谢谢

最佳答案

我们可以使用dcast

library(data.table)
out <- dcast(setDT(x), rowid(type) ~ type, value.var = 'value')
setnames(out, 'type', 'item')
out
# item a b c
#1: 1 5 2 3
#2: 2 2 10 8
#3: 3 6 7 NA

关于r - 如何每 n 行转置一个长数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52595575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com