gpt4 book ai didi

R:转换数据(因子值作为列名)

转载 作者:行者123 更新时间:2023-12-01 11:35:41 24 4
gpt4 key购买 nike

我有一个数据集,我想将其转换为另一种格式:

数据是这样的(出于隐私问题,我不能放原始数据):

ID1 ID2 Month   Value
1 A Jan-03 10
2 B Jan-03 11
1 A Feb-03 12
2 B Feb-03 13
1 A Mar-03 14
2 B Mar-03 15

我希望月份列作为列名,格式如下:

ID1 ID2 Jan-03  Feb-03  Mar-03
1 A 10 12 14
2 B 11 13 16

谢谢!

最佳答案

你可以试试

 df$Month <- factor(df$Month, levels=unique(df$Month))
reshape(df, idvar=c('ID1', 'ID2'), timevar='Month', direction='wide')
# ID1 ID2 Value.Jan-03 Value.Feb-03 Value.Mar-03
#1 1 A 10 12 14
#2 2 B 11 13 15

或者

library(reshape2)
dcast(df, ID1+ID2~Month, value.var='Value')
# ID1 ID2 Jan-03 Feb-03 Mar-03
#1 1 A 10 12 14
#2 2 B 11 13 15

或者

library(tidyr)
spread(df, Month, Value)
# ID1 ID2 Jan-03 Feb-03 Mar-03
#1 1 A 10 12 14
#2 2 B 11 13 15

数据

df <- structure(list(ID1 = c(1L, 2L, 1L, 2L, 1L, 2L), ID2 = c("A", 
"B", "A", "B", "A", "B"), Month = c("Jan-03", "Jan-03", "Feb-03",
"Feb-03", "Mar-03", "Mar-03"), Value = 10:15), .Names = c("ID1",
"ID2", "Month", "Value"), class = "data.frame", row.names = c(NA,
-6L))

关于R:转换数据(因子值作为列名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426699/

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