簡體   English   中英

A plot 用於 R 中的交叉表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM