gpt4 book ai didi

r - 使用带有计数的数据来添加零和 NA

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:57 26 4
gpt4 key购买 nike

我有一个数据库,包括:物种 ID(作为因素)、计数、站点、访问、年份。在这里找到一个子集 [Google Drive]

我想创建一个具有以下维度的 4D 数组:物种、站点、访问和年份。计数为单元格值。为此,我使用以下代码:

y<-tapply(counts,list(species,site,visit,year), sum) 

一些网站在过去几年内并不总是被访问过。因此在单元格中获取 NA,这实际上很好。我的问题是,在给定的访问和年份访问了某些站点,但没有看到该物种。原始数据库仅显示计数(少数异常(exception)除外)。因此,代码为这些单元格提供了一个 NA 值,但我想要一个 0 值。

有人对如何在访问过站点但未看到物种时添加这些 0 值单元格,同时在未访问站点时保留 NA 有任何建议吗?

非常感谢。

最佳答案

假设你的数据在 data.frame df

library(reshape2)

tmp <- dcast(df, site + visit + year ~ species, value.var = 'counts', fill = 0)
df <- melt(tmp, id.vars = c('site', 'visit', 'year'), variable.name = 'species', value.name = 'counts')
y <- tapply(df$counts, list(df$species, df$site, df$visit, df$year), sum)

关于r - 使用带有计数的数据来添加零和 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com