R 使用分类变量多次重复行数据
我有一个如下所示的数据帧:R 使用分类变量多次重复行数据,r,dataframe,R,Dataframe,我有一个如下所示的数据帧: DATE SURVEY SPECIES COUNT 07/12/16 13 Paka 1 07/12/16 14 Paka 1 07/12/16 15 Grouper 2 07/12/16 16 Grouper 3 07/12/16 18 Grouper 1 07/12/16 20 Lehi 3 其中,“计数”是指每次给定调查中观察到的个体数量。我想重新调整数据,使每个人都有一行(记录):例如
DATE SURVEY SPECIES COUNT
07/12/16 13 Paka 1
07/12/16 14 Paka 1
07/12/16 15 Grouper 2
07/12/16 16 Grouper 3
07/12/16 18 Grouper 1
07/12/16 20 Lehi 3
其中,“计数”是指每次给定调查中观察到的个体数量。我想重新调整数据,使每个人都有一行(记录):例如:
DATE SURVEY SPECIES
07/12/16 13 Paka
07/12/16 14 Paka
07/12/16 15 Grouper
07/12/16 15 Grouper
07/12/16 16 Grouper
07/12/16 16 Grouper
07/12/16 16 Grouper
07/12/16 18 Grouper
07/12/16 20 Lehi
07/12/16 20 Lehi
07/12/16 20 Lehi
每次调查的数据都会根据需要重复多次。我曾考虑过使用melt()或summary()函数,但由于COUNT变量的范围在1到10之间,所以我被卡住了
谢谢假设您的原始数据框是
dat
,您可以执行以下操作以获得所需的数据框新数据:
new_dat <- dat[rep.int(1:nrow(dat), dat$COUNT), -4]
rownames(new_dat) <- 1:nrow(new_dat)
这里是另一个带有expandRows
library(splitstackshape)
`row.names<-`(expandRows(df1, "COUNT"), NULL)
# DATE SURVEY SPECIES
#1 07/12/16 13 Paka
#2 07/12/16 14 Paka
#3 07/12/16 15 Grouper
#4 07/12/16 15 Grouper
#5 07/12/16 16 Grouper
#6 07/12/16 16 Grouper
#7 07/12/16 16 Grouper
#8 07/12/16 18 Grouper
#9 07/12/16 20 Lehi
#10 07/12/16 20 Lehi
#11 07/12/16 20 Lehi
库(splitstackshape)
`row.工作得很有魅力!谢谢:)@ZheyuanLi任务是使其成为一行,但基本上,expandRows
只是一个包装器,它与代码中的功能相同。然而,人们将包装作为一种独特的解决方案发布,并获得更多的分数。这方面的例子是
library(splitstackshape)
`row.names<-`(expandRows(df1, "COUNT"), NULL)
# DATE SURVEY SPECIES
#1 07/12/16 13 Paka
#2 07/12/16 14 Paka
#3 07/12/16 15 Grouper
#4 07/12/16 15 Grouper
#5 07/12/16 16 Grouper
#6 07/12/16 16 Grouper
#7 07/12/16 16 Grouper
#8 07/12/16 18 Grouper
#9 07/12/16 20 Lehi
#10 07/12/16 20 Lehi
#11 07/12/16 20 Lehi