En la investigación clínica, a menudo es necesario importar datos de pruebas de laboratorio desde el sistema His del hospital. Sin embargo, los datos exportados desde el sistema His son datos amplios y muchos de ellos son el resultado de inspecciones repetidas de varias personas. no es fácil realizar un análisis directo. Como se muestra en la figura siguiente,
necesitamos convertir al siguiente formato de datos largos para un análisis más detallado.
Hoy usaremos el paquete reshape2 que viene con el lenguaje R para organizar el formato de datos, convertir el formato ancho datos a los datos extensos, o convierta los datos extensos y extensos según sea necesario Hay una importancia práctica positiva en la recopilación de datos clínicos o en la minería de datos.
Primero importemos el paquete reshape2 y simulemos por nosotros mismos una amplia gama de datos de hipertensión leve.
library(reshape2)
id<-rep(1:12)
time<-rep(1:3,4)
sbp<-round(rnorm(12,mean = 150,sd=9))
svd<-round(rnorm(12,mean = 90,sd=8))
bc<-data.frame(id,time,sbp,svd)
Simplemente simule, independientemente de la importancia clínica, la siguiente figura es la estructura de los datos
be<-melt(bc,id=c("id","time"),
measure.vars = (c("sbp","svd")),
variable.name = "bp",
value.name = "value") ##ID为固定不变的变量,measure.vars为需要整合的变量,variable.name 为新变量名字
La nueva variable bp integra sbp y svd.
También podemos convertir datos largos en datos amplios si es necesario
#转成宽数据
dcast(be,id+time~bp)#转成宽数据
Los otros son
dcast(be,id+time~bp,mean)#转成宽数据并取平均值
dcast(be,time~bp,mean)#取3次timede
acast(be,id~time~bp)#分组表示sbp,svd的平均值
Si los datos son grandes, también podemos tomar parte de los subgrupos. Es útil cuando los datos son grandes. Si
toma los subgrupos, debe importar un paquete plyr
#取亚组表示
library(plyr)
acast(be,bp~id,mean, subset = .(bp == "sbp"))#取sbp为亚组的值
acast(be,bp~time,mean, subset = .(bp == "sbp"))#time每次测量平均值取sbp
acast(be,bp~time,mean, subset = .(time == 3))#取第三次sbp和svd的平均值
acast(be,bp~time,mean, subset = .(time <3))#time前两次的sbp和svd的平均值
Para artículos más interesantes, preste atención a la cuenta pública: investigación de base cero