r - 计算 data.frame 列的中位数
问题描述
我有以下data.frame,我想确定索引的中值。例如,让我们考虑下面的 data.farme。
index t1 t2 t3 t4
10 1 4 7 10
20 2 5 8 11
30 3 6 9 0
40 0 0 0 0
在first step,
我想按列相加data.frame.
index t
10 22
20 26
30 18
40 0
在second step
我想确定索引的中位数。在这样做时,我需要按递增顺序排列 t 并选择中位数。
index t
40 0
30 18
10 22
20 26
我知道 R 中有一个中值函数,但我收到不同的结果。
样本数据:
df<-structure(list(index=c (10,20,30,40),
t1 = c(1, 2, 3, 0),
t2 = c(4, 5, 6, 0),
t3 = c(7, 8,9, 0),
t4 = c(10, 11, 0, 0)), row.names = c(NA,4L), class = "data.frame")
df
解决方案
我会试试这个:
library(data.table)
df <- setDT(df)
df_c <- df[,t:=t1+t2+t3+t4][, .(index, t)]
setorder(df_c, index)
median(df_c$index)
对于中位数,我实际上会使用一个函数并应用于索引列。
推荐阅读
- python - cv2.calibrateCamera 成功后如何获得好的 cv2.stereoCalibrate
- ionic-framework - Ionic 3 图像未显示在设备上
- hibernate - 在多线程环境中与 Hibernate 会话进行交互的合适方式
- c# - 如何使用 SSIS 脚本任务删除 Excel 目标中的第二行?SQL Server 2012
- python - tkinter 顶级小部件的协议有哪些
- swift - 如何在 Promisekit 循环中使用 when 函数
- linux - scp 从 Linux 到 Windows: 'C:\Program' 无法识别错误
- json - 发送标志而不是基于 json 的字母
- entity-framework - MVC 业务逻辑 + DAL + 映射 ViewModel 和 EF 模型
- pdf - 使用 itext 7 和 GlobalSign 的文档签名服务 (DSS) 签署文档