有什么网站帮做邀请函设计的,手机免费网站建设,如何搭建购物平台,注册新公司需要准备的材料文章目录 介绍reshape2::melt()的用法实例 reshape2::dcast()的用法实例 tidyr::gather()的用法tidyr::spread()的用法 介绍
tidyverse系列包中的函数操作都是针对简洁数据框进行的#xff0c;对于不是简洁的数据#xff0c;实现需要进行数据重塑。数据重塑主要包括长宽表的… 文章目录 介绍reshape2::melt()的用法实例 reshape2::dcast()的用法实例 tidyr::gather()的用法tidyr::spread()的用法 介绍
tidyverse系列包中的函数操作都是针对简洁数据框进行的对于不是简洁的数据实现需要进行数据重塑。数据重塑主要包括长宽表的转换、拆分/合并列、方形化。长宽表转化最初使用的是reshape2包的melt()和cast()函数后来又发展到早起tidyr包的gather()和spread()函数现在tidyr 1.0之后又提供了更加易用的pivot_longer()和pivot_wider()函数。
reshape2::melt()的用法
melt()实现了将宽表转化为长表的功能。
melt(data,id.varsc( ),measure.varsc( ),variable.namevariable,value.namevalue)其中
id.vars相当于码是只转化后不变的列meansure.vars表示在转化中需要重塑的列variable.name表示将measure.vars转化为一列后变量列的名称value.name表示重塑后变为一列的数值列的名称
实例 Df
# key a b c
# 1 A NA NA 1
# 2 B NA 2 NA
# 3 C 3 NA NA
# 4 D NA 4 NA
# 5 E NA NA 5
melt(Df,id.vars key,measure.vars c(a,b,c),variable.name vars,value.name value )
# key vars value
# 1 A a NA
# 2 B a NA
# 3 C a 3
# 4 D a NA
# 5 E a NA
# 6 A b NA
# 7 B b 2
# 8 C b NA
# 9 D b 4
# 10 E b NA
# 11 A c 1
# 12 B c NA
# 13 C c NA
# 14 D c NA
# 15 E c 5reshape2::dcast()的用法
dcast()实现了将长表转化为宽表的功能。
dcast( data, formula, value.var...其中formula的形式为var1var2~variable, var1和var2表示码是变化中不变的列variable表示变量名列的列名 value.var表示数据列的列名。
实例
DFdata.frame(v1:5,keyLETTERS[1:5],varssample(letters[1:3],5,replace T))
# v key vars
# 1 1 A c
# 2 2 B b
# 3 3 C a
# 4 4 D b
# 5 5 E c
dcast(DF,formula key~vars,value.var v)
# key a b c
# 1 A NA NA 1
# 2 B NA 2 NA
# 3 C 3 NA NA
# 4 D NA 4 NA
# 5 E NA NA 5tidyr::gather()的用法
tidyr::spread()的用法