r - 具有字符向量的数据帧的快速聚合
问题描述
给定以下数据框:
df <- structure(list(OTU = structure(c(1L, 2L, 3L, 4L, 5L, 1L, 2L,
3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L,
4L, 5L), class = "factor", .Label = c("OTU_1", "OTU_2", "OTU_3",
"OTU_4", "OTU_5")), read = structure(c(1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 5L, 5L,
5L, 5L, 5L), .Label = c("a", "b", "c", "d", "e"), class = "factor")), class = "data.frame", row.names = c(NA,
-25L))
OTU read
1 OTU_1 a
2 OTU_2 a
3 OTU_3 a
4 OTU_4 a
5 OTU_5 a
6 OTU_1 b
7 OTU_2 b
8 OTU_3 b
9 OTU_4 b
10 OTU_5 b
11 OTU_1 c
12 OTU_2 c
13 OTU_3 c
14 OTU_4 c
15 OTU_5 c
16 OTU_1 d
17 OTU_2 d
18 OTU_3 d
19 OTU_4 d
20 OTU_5 d
21 OTU_1 e
22 OTU_2 e
23 OTU_3 e
24 OTU_4 e
25 OTU_5 e
我想创建一个新的数据框,如下所示:
a b c d e
OTU_1 1 1 1 1 1
OTU_2 1 1 1 1 1
……
这不是一个完美的例子,因为数据框的值始终为 1,但在我的数据框中,您有不同数量的字母。
由于我的数据框很大(150 万行),我怎么能很快做到这一点?
谢谢
解决方案
推荐阅读
- c++ - 由于二维数组声明,C++ 14 中的运行时错误
- node.js - 为什么工作没有在公牛的等待队列中等待?
- javascript - jQuery函数过滤多列
- angular - 使用 RxJS 启动 spinner,显示至少 500ms,然后最多在 10s 后停止
- common-lisp - clsql:为什么要“神奇地”添加表?
- python - 加速大型数组和数据集的操作(Pandas 慢,Numpy 更好,进一步改进?)
- php - 将 postgresql 数据库连接到 codeigniter
- django - 使用 DRF 发布 GeoJSON 会导致“函数 st_geomfromewkb(bytea) 不存在”
- excel - VBA 自动化 - 预填充组合框
- javascript - 从数组中克隆或复制对象,然后使用 es6 推送和重命名