[英]Median of a data frame - problems coercing data to numeric
我在XLSX文件data.xlsx
Sheet1
中設置了以下數據:
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
包讀取數據
> df <- read.xlsx(
+ file = 'data.xlsx',
+ sheetName = 'Sheet1',
+ header = TRUE)
現在,我想計算整個值集的中位數(1,...,9;第1-3行和第4-6列)。 但是,我無法將數據強制為數字。
> median(as.numeric(df[,c(4:6)]))
Error in median(as.numeric(df[, c(4:6)])) :
(list) object cannot be coerced to type 'double'
如何確定該組的中位數?
一種方法是在計算中median
之前解開或unlist
數據框:
> 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.