如何在 R 的 data.table 对象中查找具有相同名称的列的行中位数?
要查找 R 中 data.table 对象中具有相同名称的列的行中位数,我们可以按照以下步骤操作:
首先,创建一个包含一些具有相同名称的列的 data.table。
然后,使用 tapply 以及 colnames 和 median 函数来查找具有相同名称的列的行中位数。
示例
创建 data.table
让我们创建一个如下所示的 data.table:
library(data.table) DT<- data.table(x=rpois(25,5),y=rpois(25,10),x=rpois(25,5),y=rpois(25,2),x=rpois(25,4),y=rpo is(25,10),check.names=FALSE) DT
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):
x y x y x y
1: 4 15 6 1 6 9
2: 4 11 3 3 4 9
3: 1 6 8 2 2 12
4: 6 9 4 2 6 12
5: 8 10 1 1 2 9
6: 6 9 7 4 2 4
7: 8 8 3 2 1 8
8: 2 10 7 2 5 16
9: 7 5 8 1 5 9
10: 5 11 9 5 7 10
11: 3 4 1 5 6 6
12: 10 10 6 3 6 13
13: 7 5 4 2 3 8
14: 4 9 0 2 5 14
15: 6 11 8 2 4 10
16: 6 8 3 3 7 7
17: 7 8 4 2 1 8
18: 8 9 7 4 3 15
19: 4 16 5 1 3 7
20: 7 15 4 1 3 12
21: 6 10 5 1 1 9
22: 4 11 3 0 2 9
23: 4 12 4 3 4 17
24: 4 8 2 1 5 6
25: 5 9 1 0 2 5
x y x y x y查找具有相同名称的列的行中位数
使用 tapply 以及 colnames 和 median 函数来查找 data.table 对象 DT 中具有相同名称的列的行中位数:
library(data.table) DT<- data.table(x=rpois(25,5),y=rpois(25,10),x=rpois(25,5),y=rpois(25,2),x=rpois(25,4),y=rpo is(25,10),check.names=FALSE) t(apply(DT,1, function(x) tapply(x,colnames(DT),median)))
输出
x y [1,] 6 9 [2,] 4 9 [3,] 2 6 [4,] 6 9 [5,] 2 9 [6,] 6 4 [7,] 3 8 [8,] 5 10 [9,] 7 5 [10,] 7 10 [11,] 3 5 [12,] 6 10 [13,] 4 5 [14,] 4 9 [15,] 6 10 [16,] 6 7 [17,] 4 8 [18,] 7 9 [19,] 4 7 [20,] 4 12 [21,] 5 9 [22,] 3 9 [23,] 4 12 [24,] 4 6 [25,] 2 5
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP