数据框的中位数 - 将数据强制转换为数字的问题

时间:2014-04-23 20:03:40

标签: r excel dataframe median

我在XLSX文件Sheet1的{​​{1}}中有以下数据集:

enter image description here

Prop1   Prop2   Prop3   Value1  Value2  Value3
A       B       C       1       2       3
D       E       F       4       5       6
G       H       I       7       8       9

我在阅读数据时使用xlsx package通过

data.xlsx

现在我想计算整个值集的中位数(1,...,9;跨行1-3和列4-6)。但是,我无法将数据强制为数字。

> df <- read.xlsx(
+     file = 'data.xlsx',
+     sheetName = 'Sheet1',
+     header = TRUE)

如何确定这组的中位数?

1 个答案:

答案 0 :(得分:1)

一种方法是在计算unlist之前解开或median数据框:

> df <- data.frame(
+     Prop1 = c('A','B','C'), Prop2 = c('D','E','F'), Prop3 = c('G','H','I'),
+     Value1 = c(1:3), Value2 = c(4:6), Value3 = c(7:9))
> df
  Prop1 Prop2 Prop3 Value1 Value2 Value3
1     A     D     G      1      4      7
2     B     E     H      2      5      8
3     C     F     I      3      6      9
> df.median <- median(unlist(df[,c(4:6)]))
> df.median
[1] 5
相关问题