R中交叉制表的绘图

R中交叉制表的绘图,r,plot,categorical-data,lme4,mixed-models,R,Plot,Categorical Data,Lme4,Mixed Models,我想看看每个唯一的childid是否只出现在一个唯一的schoolid中。我已经绘制了交叉表格,但视觉效果非常繁忙且不清晰 有没有更好的方法(通过绘图或其他方式)来实现我在R中的目标 (另一方面,我也被告知要拟合一个混合模型并绘制随机效果,但如下图所示,图像非常小且不清晰。) dd您可以用这种方式进行(无绘图) 使用基数R。您可以计算列联表,然后计算每个childid的匹配值为正值的次数。如果它超过1,那么您就无法获得所需的洞察力 x <- colSums(table(dd$schooli

我想看看每个唯一的
childid
是否只出现在一个唯一的
schoolid
中。我已经绘制了交叉表格,但视觉效果非常繁忙且不清晰

有没有更好的方法(通过绘图或其他方式)来实现我在R中的目标

(另一方面,我也被告知要拟合一个混合模型并绘制随机效果,但如下图所示,图像非常小且不清晰。)

dd您可以用这种方式进行(无绘图)

使用基数R。您可以计算列联表,然后计算每个
childid
的匹配值为正值的次数。如果它超过1,那么您就无法获得所需的洞察力

x <- colSums(table(dd$schoolid, dd$childid) > 0) 
x[x>1]
#> named numeric(0)

检查每个学生ID的唯一学号大小

dd %>% group_by(childid) %>% summarize(ns_per_id = length(unique(schoolid))) %>% 
summarise(unique(ns_per_id))
`summary()`解组输出(用`.groups`参数覆盖)
#一个tibble:1x1
`唯一(每个id的N个字符)`
1            1

您的数据集中有10所学校的315个唯一ID。很明显,不管你怎么剪掉它,它都会显得忙碌而不清晰。也许更好的问题是,你想展示什么?举一个你想要达到的目标的例子会有所帮助。我喜欢你的基本答案。我想做那样的事,但做不到。
library(dplyr)

dd %>% distinct(schoolid, childid) %>% count(childid) %>% filter(n>1)
#> [1] childid n      
#> <0 rows> (or 0-length row.names)
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