首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据R中一个数据框中的两个变量来计算行数?

问如何根据R中一个数据框中的两个变量来计算行数?
EN

Stack Overflow用户
提问于 2021-03-16 21:10:15
回答 2查看 26关注 0票数 0

我有一个数据框,我想做以下事情:根据'CD_MUN‘和'acq_date’列计算行数,然后用这些数量创建一个列,我称之为'focos‘。此外,我还想计算“frp”列的平均值。

我的数据框:

代码语言:javascript
复制
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"))

我的期望是:

​

有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2021-03-16 22:02:08

如果可以假设CD_MUN的NM_MUN和Bioma ar属性,那么这种方法似乎适用于您的情况:

代码语言:javascript
复制
f %>% group_by( acq_date, CD_MUN, NM_MUN,Bioma ) %>%
    summarize( frp = mean( frp ), Focos=length(acq_date) ) %>%
    arrange( frp )

本质上是通过定义CD_MUN的所有变量进行分组,计算平均值并计算每组中的记录数。

票数 0
EN

Stack Overflow用户

发布于 2021-03-16 22:59:47

谢谢你,Sírius,但是数据帧没有像预期的那样返回。我是这样做的:

代码语言:javascript
复制
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))

我不确定这是不是对,但我想是的..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66655897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档