Saya memiliki kumpulan data yang dimulai seperti berikut:
set.seed(50)
n <- 20
s_num <- c(10,20,30)
counts <- c(0,1,2,3,4)
strata <- sample(s_num, n, replace=T)
sites <- seq(1, n, by=1)
observed <- sample(counts, n, replace=T)
df <- as.data.frame(cbind(strata,sites,observed))
Saya dapat mengelompokkan berdasarkan strata dan mendapatkan mean dan varians menggunakan dplyr dengan:
library(dplyr)
df2 <- df %>%
group_by(strata) %>%
summarise(mcount = mean(observed),
varcount = var(observed))
Masalahnya adalah 0 hitungan tidak lagi ada di database:
df3 <- subset(df,observed != 0)
Jadi mean dan variansnya sekarang tidak benar:
df4 <- df3 %>%
group_by(strata) %>%
summarise(mcount = mean(observed),
varcount = var(observed))
Tapi saya punya jumlah situs:
site_count <- df %>%
group_by(strata) %>%
summarise(count_plot = n_distinct(sites))
Apakah saya masih bisa menggunakan dplyr untuk menghitung varians rata-rata tanpa angka 0? Mean sebenarnya tidak terlalu sulit dengan menggabungkan jumlah situs menjadi df; varians lebih sulit. Saya dapat menambahkan kembali 0 baris jika diperlukan, tetapi ingin melihat apakah ada cara sederhana untuk mengatasinya jika memungkinkan. Terima kasih.