为长数据库转换宽数据库,在R中分组变量
我想修改我的数据库。我要做的是将数据库中的每一行都转换为一个人 数据库: 我希望它看起来像这样。例如:为长数据库转换宽数据库,在R中分组变量,r,database,database-design,statistics,wide-column-store,R,Database,Database Design,Statistics,Wide Column Store,我想修改我的数据库。我要做的是将数据库中的每一行都转换为一个人 数据库: 我希望它看起来像这样。例如: ID massaseca Fator Anexo Teor Tempo 1 334,68 AM c 0 0 1 344,19 AM c 0 10 1 347,32 AM c 0 20 1 350,2
ID massaseca Fator Anexo Teor Tempo
1 334,68 AM c 0 0
1 344,19 AM c 0 10
1 347,32 AM c 0 20
1 350,2 AM c 0 30
1 352,52 AM c 0 40
. . . . . .
. . . . . .
虽然我在论坛上找到了一些例子,但我无法解决我的问题。我将介绍这两种尝试。当我执行下面的代码时,我发现它覆盖了一些变量,而不是您想要的方式
####################################
require(reshape2)
long <- melt(dados1, id.vars = c("Teor", "Fator"))
melt(dados1, id.vars = 1:2)
melt(dados1, measure.vars = 4:45)
melt(dados1, measure.vars = as.character(10,20,30,
40,50,60,70,80,
90,105,120,135,150,
170,190,210,230,250,
270,290,310,330,350,
360,405,450,510,570,
630,690,750,810,870,
930,990,1050,1110,1170,
1230,1290,1350))
################# CASE 2 ###########
####################################
library(data.table)
long1 <- melt(setDT(dados1), id.vars = c("Teor", "Fator"), variable.name = "Tempo")
long1
melt(setDT(dados1), id.vars = 1:2, variable.name = "Tempo")
melt(setDT(dados1), measure.vars = 4:45, variable.name = "Tempo")
melt(setDT(dados1), measure.vars = as.character(10,20,30,
40,50,60,70,80,
90,105,120,135,150,
170,190,210,230,250,
270,290,310,330,350,
360,405,450,510,570,
630,690,750,810,870,
930,990,1050,1110,1170,
1230,1290,1350), variable.name = "Tempo")
####################################
要求(2)
long似乎缺少一个明确的“id”
列,您可以用cbind
替换该列。然后,您可以使用basereformate
,在这里我们从列名中为times
参数绘制值。(请注意,如果像我一样将id
设置为第一列,则需要将1
添加到variable
s。)
你最好在这里发布一篇文章,而不是让人们从第三方网站下载文件。嗨,卡米尔,非常感谢你的关注。如有必要,我可以在电子邮件中向您发送电子表格。单击我发布的链接。这里有一些示例说明如何将数据添加到问题中或使用常用的数据集。看起来像是一个重塑问题<代码>tidyr::聚集(dados1,Tempo,massaseca,-(1:3))
res <- reshape(cbind(id=1:nrow(dados1), dados1),
varying=5:46,
v.names="massaseca",
timevar="Tempo",
times=as.numeric(gsub("X", "", tail(names(dados1), -3))),
direction="long", sep="")
head(res[order(res$id), ])
# id Teor Fator Anexo Tempo massaseca
# 1.0 1 0 Am c 0 334,68
# 1.10 1 0 Am c 10 344,19
# 1.20 1 0 Am c 20 347,32
# 1.30 1 0 Am c 30 350,2
# 1.40 1 0 Am c 40 352,52
# 1.50 1 0 Am c 50 354,81