我有一个数据框,我想做以下事情:根据'CD_MUN‘和'acq_date’列计算行数,然后用这些数量创建一个列,我称之为'focos‘。此外,我还想计算“frp”列的平均值。
我的数据框:
df <- data.frame(acq_date=as.Date(c("2000-12-01",
"2000-12-09",
"2000-11-17",
"2000-11-17",
"2000-12-09"),"%Y-%m-%d"),
frp=c(100,200,300,400,500),
geometry=c("c(-59.7246, -15.4336)",
"c(-48.112, -4.5772)",
"c(-57.108, -17.4479)",
"c(-47.3609, -4.4691)",
"c(-48.4793, -2.7711)"),
CD_MUN = c(5105507,1506187,5106505,
5106505,1508001),
NM_MUN = c("Vila Bela da Santíssima Trindade",
"Rondon do Pará",
"Poconé",
"Poconé",
"Tomé-Açu"),
Bioma = c("Amazônia", "Cerrado", "Amazônia",
"Amazônia", "Pantanal"))我的期望是:

有人能帮我吗?
发布于 2021-03-16 22:02:08
如果可以假设CD_MUN的NM_MUN和Bioma ar属性,那么这种方法似乎适用于您的情况:
f %>% group_by( acq_date, CD_MUN, NM_MUN,Bioma ) %>%
summarize( frp = mean( frp ), Focos=length(acq_date) ) %>%
arrange( frp )本质上是通过定义CD_MUN的所有变量进行分组,计算平均值并计算每组中的记录数。
发布于 2021-03-16 22:59:47
谢谢你,Sírius,但是数据帧没有像预期的那样返回。我是这样做的:
df$focos<-1
df2 <- ddply(df, c("acq_date", "CD_MUN", "Bioma"), summarise,
frp = mean(frp, na.rm=TRUE),
acq_date = unique(acq_date),
CD_MUN = unique(CD_MUN),
NM_MUN = unique(NM_MUN),
Bioma = unique(Bioma),
Focos = table(focos))我不确定这是不是对,但我想是的..。
https://stackoverflow.com/questions/66655897
复制相似问题