gpt4 book ai didi

R - 数据框切换行和列

转载 作者:行者123 更新时间:2023-12-04 09:44:51 25 4
gpt4 key购买 nike

我有如下所示的数据框:

category fan_id likes
A 10702397 1
B 10702397 4
A 35003154 1
B 35003154 1
C 35003154 2

我想将其转换为以下数据框
fan_id   A B C
10702397 1 4 0
35003154 1 1 2

我能想到的唯一方法是遍历数据框并手动构建另一个,但似乎必须有更好的方法。

似乎我想与这里提出的问题相反 Switch column to row in a data.frame

最佳答案

底座 reshape功能方法:

dat <- data.frame(
category=c("A","B","A","B","C"),
fan_id=c(10702397,10702397,35003154,35003154,35003154),
likes=c(1,4,1,1,2)
)
result <- reshape(dat,idvar="fan_id",timevar="category",direction="wide")
names(result)[2:4] <- gsub("^.*\\.","",names(result)[2:4])
result

fan_id A B C
1 10702397 1 4 NA
3 35003154 1 1 2

奖金 xtabs方法:
result2 <- as.data.frame.matrix(xtabs(likes ~ fan_id + category, data=dat))

A B C
10702397 1 4 0
35003154 1 1 2

带有修复的确切格式:
data.frame(fan_id=rownames(result2),result2,row.names=NULL)

fan_id A B C
1 10702397 1 4 0
2 35003154 1 1 2

关于R - 数据框切换行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928124/

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