[英]A plot for cross tabulations in R
我正在嘗試查看每個唯一的childid
僅出現在一個唯一的schoolid
中。 我已經繪制了交叉表,但視覺非常繁忙且不清楚。
有沒有更好的方法(通過繪圖或其他方式)來實現我在 R 中的目標?
( ps。作為替代方案,我還被告知要擬合混合模型和 plot 隨機效應,但如下圖所示,圖像超級小且不清楚。 )
dd <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/3.csv')
cross_tab <- xtabs(~ schoolid + childid, dd)
plot(cross_tab)
library(lme4)
m31 <- lmer(math~year+(1|schoolid/childid), data = dd)
image(getME(m31,"Zt"))
你可以這樣做(沒有情節)。
帶底座 R。 您可以計算一個列聯表,然后計算每個childid
有多少次您對schoolid+chilid
匹配具有正值。 如果它超過 1,那么您就擁有您正在尋找的洞察力。
x <- colSums(table(dd$schoolid, dd$childid) > 0)
x[x>1]
#> named numeric(0)
與dplyr
。 您distinct
每個schoolid+childid
匹配,然后計算childid
是否出現多次。
library(dplyr)
dd %>% distinct(schoolid, childid) %>% count(childid) %>% filter(n>1)
#> [1] childid n
#> <0 rows> (or 0-length row.names)
檢查每個 studentid 的唯一 schoolid 的大小。
dd %>% group_by(childid) %>% summarize(ns_per_id = length(unique(schoolid))) %>%
summarise(unique(ns_per_id))
`summarise()` ungrouping output (override with `.groups` argument) # A tibble: 1 x 1 `unique(ns_per_id)` <int> 1 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.