r - 当我在 table(A,B) 中传递两个输入时,如何过滤 R 中的 table() 函数
问题描述
我试图制作频率表子部分的热图。当我在表(A,B)中传递两个输入时,如何过滤 R 中的表()函数。
我尝试了类似的东西
tbl <- table(A,B)
tbl[tbl>=10]
但我只是在没有关于它是什么信息的情况下取回频率。
解决方案
这样做
tbl <- as.data.frame(table(A, B))
它应该为您提供三列data.frame
:A
,,这对于您的热图应该足够了,代码类似于此示例工作B
示例Freq
library(stringi)
library(dplyr)
library(ggplot2)
n <- 10000
A <- stri_rand_shuffle(stri_rand_strings(n, 1, '[a-z]'))
B <- stri_rand_shuffle(stri_rand_strings(n, 1, '[a-z]'))
tbl <- as.data.frame(table(A, B)) %>%
arrange(A, B) %>%
filter(Freq >= 10)
ggplot(data = tbl, aes(x = A, y = B, fill = Freq)) +
geom_tile()
推荐阅读
- jhipster - 如何在 JHipster 蓝图中使用自定义模板?
- curl - 发送/接收 WebService CURL
- python - Set numpy array values through list comprehension
- c++ - 在另一个应用程序窗口顶部绘制边框
- python - 如何确保我的 yaml 文件中没有空值
- vba - 在使用 VBA 发送电子邮件之前检查附件
- r - 从业务对象中读取 r 中的 xls 文件
- vuejs2 - VueJS中的v-for,如何跟踪以前的组件数据?
- java - Toast 适用于 Java 活动,但不适用于 kotlin
- javascript - 用于防止与模式匹配的导入的 ESLint 规则