resumen de uso de data.table

Lectura de datos


df1=fread("E:/Research/df1.csv",header=T)
df2=fread("E:/Research/df2.csv",header=T)

Seleccionar rango

df=df[,Variable] #返回向量
df=df[,.(Variable)] #返回data.table
df=df[,c("Variable"),with=FALSE] #返回一个数据框
df=df[["Variable"]] #返回一列x向量,同第一个
# Varibale可以是列名也可以是列编号

Limpieza de datos

Procesamiento de valor faltante

Eliminación de valor faltante

df=df[ID !="NA"]

Reemplazo de valor faltante

SparseVariables = c("Variable1","Variable2","Variable3")
for (col in SparseVariables)
    set(df, which(is.na(df[[col]])),col,0)

Convertir tipo de datos

NumericVariables=c("Var1","Var2")
df[,(NumericVariables):=lapply(.SD,as.numeric),.SDcols=NumericVariables]

Generar nuevas columnas

Generar para todas las filas

df[,":="(Var1 = Var2+ Var3)]
df[,":="(Var1 = Var2+ Var3, Var4 = Var5 + Var6)]
df[, c('Var1', 'Var5') := list(Var2+ Var3, Var5 + Var6)]

Genere para filas que cumplan las condiciones

df[Var1=="0",':='(Var1_flag = 1)]

filtrar

Filtrar por valor de columna

df2=df[Var1=="1"]

Fusionar dos tablas

df_final=df_1[df_2,on="ID",nomatch=0]

Conversión de datos extensos y datos amplios

Convierta datos amplios en datos largos

df_long=melt(df_wide,id.vars = "ID",measure.vars = c("Var1","Var2","Var3"),variable.name = "Var",value.name = "Var_valuet)

Convierta datos largos en datos amplios

df_wide=dcast(df_long,ID+Var1+Var2~Var3,value.var ="ValueName",fun.aggregate = sum)

Ordenar

setkey(df_cluster,label)

Estadísticas de grupo

df_PPEG=df3 %$% .[,":="(diff=abs(Po-Pr))] %$% .[,.(PPGE=mean(diff,na.rm = TRUE)),by=ID]
df_SDGB=df2[,.(SDGB=sd(na.omit(glucose))),by=c("ID","Day")] %$% .[,.(meanSDGB=mean(SDGB,na.rm = TRUE)),by=ID]

Supongo que te gusta

Origin blog.csdn.net/Alleine/article/details/103622953
Recomendado
Clasificación