r - 如何从 R 中非常大的频率表中提取特定频率?
问题描述
我正在制作基因在我的测序样本中出现的次数的频率表(来自一长串基因序列)。我一直很好地使用 ftable() 函数,但我正在缩小搜索范围,并希望专注于数千个特定基因中的几个。
我目前的工作流程如下:
- 我为样本中的所有基因创建频率表。
- 将此表导出到 csv。
- 在 Excel 中使用 control+f 拉出我感兴趣的特定基因频率。
考虑到我计划分析的样本数量,这似乎非常低效。
有没有办法使用 R 提取频率表中的某些条目?
到目前为止,我已经尝试了 [c(, , ,)] 和 a[, , ,] 方法无济于事。我一直收到“意外符号”错误。
我希望问题不在于基因名称中的连字符,因为我无法删除它。
我附上了我的 R 窗口的屏幕截图以供参考。
structure(list(Sequence.number = c(1L, 2L, 4L, 5L, 6L, 7L, 10L,
11L, 13L, 14L), Variable = structure(c(25L, 2L, 22L, 19L, 19L,
19L, 7L, 1L, 25L, 19L), .Label = c("V1-13", "V1-18", "V1-2",
"V1-21", "V1-36", "V1-39", "V1-42", "V10D-9", "V11-25", "V12D-36",
"V12D-56", "V15D-54", "V1D-15", "V1D-73", "V3-20", "V3D-30",
"V4D-24", "V4D-43", "V4D-60", "V6-31", "V6-35", "V6-4", "V6D-40",
"V6D-76", "V8-30", "V8-46", "V8-5", "V9-15", "V9-23", "V9D-2"
), class = "factor"), Diversity = structure(c(13L, 17L, 2L, 5L,
3L, 5L, 2L, 14L, 13L, 15L), .Label = c("", "D1", "D1T1", "D1T2",
"D2", "D2D", "D2T1", "D2T1D", "D2T2", "D3", "D3T1", "D3T1D",
"D4", "D4T1D", "D5", "D5T1D", "D6"), class = "factor"), Joining = structure(c(1L,
7L, 8L, 8L, 4L, 8L, 1L, 9L, 1L, 8L), .Label = c("J1", "J1T1",
"J1T2", "J2", "J2D", "J2T1", "J3", "J4", "J5", "J6D"), class = "factor")), row.names = c(NA,
10L), class = "data.frame")
解决方案
使用上面的例子:
正如你所做的正确,你table
使用下面的 3 个变量,这样你就不需要重复 WeekZero$ 3 次:
Freq = with(WeekZero,table(Variable,Diversity,Joining))
我们查看表格,然后继续:
ftable(Freq)
Joining J1 J1T1 J1T2 J2 J2D J2T1 J3 J4 J5 J6D
Variable Diversity
V1-13 0 0 0 0 0 0 0 0 0 0
D1 0 0 0 0 0 0 0 0 0 0
D1T1 0 0 0 0 0 0 0 0 0 0
D1T2 0 0 0 0 0 0 0 0 0 0
D2 0 0 0 0 0 0 0 0 0 0
D2D 0 0 0 0 0 0 0 0 0 0
D2T1 0 0 0 0 0 0 0 0 0 0
要从“V1-13”中获取计数,请返回表对象,在第一个逗号之前指定它,这指的是数组的“z”维度:
Freq["V1-13",,]
要获得 V1-13 和 Diversity 为 D1,请选择下一个逗号所在的行:
Freq["V1-13","D1",]
J1 J1T1 J1T2 J2 J2D J2T1 J3 J4 J5 J6D
0 0 0 0 0 0 0 0 0 0
要获得 V1-13 并加入 == J1:
Freq["V1-13",,"J1"]
D1 D1T1 D1T2 D2 D2D D2T1 D2T1D D2T2 D3 D3T1 D3T1D D4
0 0 0 0 0 0 0 0 0 0 0 0 0
D4T1D D5 D5T1D D6
0 0 0 0
推荐阅读
- css - 使用锚点水平滚动时防止垂直滚动
- performance - 在 OCaml 模式匹配中,`when` 或 `if-then-else` 哪个更好?
- c# - C# 字符串过滤
- python - 梯度提升分类器保存模型
- javascript - 在 javascript 中寻找偏态正态分布(pdf、cdf 和 ppf)
- c# - LINQ 查询追加附加查询
- django - Django==1.8.6 POSTGRES 9.2.24:创建空白数据库
- git - 如何从 git 创建与命令日志颜色格式相同的别名?
- angular - 如何使用 BehaviorSubject 封装加载器服务逻辑
- javascript - 从数据 i 的 0、1、2、3 个索引更新 Firestore 单个索引 [0]