R 根据分组变量的级别拆分数据帧的一个变量值
如何根据另一个分组变量的级别将一个变量值拆分为数据框的列 假设我有一个如下所示的数据帧R 根据分组变量的级别拆分数据帧的一个变量值,r,dataframe,dplyr,split,multiple-columns,R,Dataframe,Dplyr,Split,Multiple Columns,如何根据另一个分组变量的级别将一个变量值拆分为数据框的列 假设我有一个如下所示的数据帧 Site Species dbh 1 sp1 2.8 1 sp2 2.2 2 sp1 4.0 2 sp2 1.5 3 sp1 3.9 3 sp2 2.5 我希望得到如下输出,其中分组变量(物种)的级别成为数据帧的列,dbh值作为分组变量的每个级别的值 Site sp1 sp2 1 2.8 2.2 2 4.0
Site Species dbh
1 sp1 2.8
1 sp2 2.2
2 sp1 4.0
2 sp2 1.5
3 sp1 3.9
3 sp2 2.5
我希望得到如下输出,其中分组变量(物种)的级别成为数据帧的列,dbh值作为分组变量的每个级别的值
Site sp1 sp2
1 2.8 2.2
2 4.0 1.5
3 3.9 2.5
我将感谢你的宝贵建议
问候,
法罕这被称为“重塑”或“支点”。有数百个教程,所以有关于它的问题
dat%pivot\u更宽(值取自“胸径”,名称取自“物种”)
#>#tibble:3 x 3
#>站点sp1 sp2
#>
#> 1 1 2.8 2.2
#> 2 2 4 1.5
#> 3 3 3.9 2.5
带有数据。表:
库(data.table)
setDT(dat)
dcast(dat,地点~物种)
#>使用“dbh”作为值列。使用“value.var”覆盖
#>站点sp1 sp2
#> 1: 1 2.8 2.2
#> 2: 2 4.0 1.5
#> 3: 3 3.9 2.5
如果您使用的是base R,请尝试重塑
reshape(
df,
direction = "wide",
idvar = "Site",
timevar = "Species"
)
给
Site dbh.sp1 dbh.sp2
1 1 2.8 2.2
3 2 4.0 1.5
5 3 3.9 2.5
非常感谢您的快速回复。这真的帮了我的忙,非常感谢。非常感谢您的快速回复。