簡體   English   中英

嘗試使用na.rm = TRUE在圖形輸出中排除NA

[英]trying to use na.rm = TRUE to exclude NAs in graph output

我正在使用此代碼來計算不同值組的均值。

> means <- aggregate(jots.xpc.txt$Cfxtn32, by=list(jots.xpc.txt$Tx), mean)
> means
   Group.1          x
1   C1_Mac 0.04957707
2    C1_MH 0.14721646
3   C2_Mac 0.01389217
4    C2_MH 0.03080142
5   X1_Mac 0.04871321
6    X1_MH 0.15913916
7   X2_Mac 0.07951835
8    X2_MH 0.08354484
9  XB1_Mac 0.05090939
10  XB1_MH 0.22035204
11 XB2_Mac 0.05053910
12  XB2_MH         NA

但是我想從數據中排除NA,所以我使用了na.rm = TRUE命令。

> means <- aggregate(jots.xpc.txt$Cfxtn32, by=list(jots.xpc.txt$Tx), mean(na.rm=TRUE))

mean.default(na.rm = TRUE)中的錯誤:
參數“ x”丟失,沒有默認值

有人可以告訴我我在做什么錯嗎?

na.rm=T必須傳遞給aggregate...參數,以便aggregate可以將其傳遞給mean

> data1 <- data.frame(x = c(1,3,4,5,NA,7,NA,6), y = c('A','A','B','B','A','A','B','B'))
> 
> aggregate(data1$x, FUN = mean, by = list(data1$y))
  Group.1  x
1       A NA
2       B NA
> 
> 
> aggregate(data1$x, FUN = mean, by = list(data1$y), na.rm = T)
  Group.1        x
1       A 3.666667
2       B 5.000000

感謝gregor的表述

正是dplyr設計可以很好地解決的問題類型。 所以你也可以這樣:

library(dplyr)

means <- jots.xpc.txt %>%
   group_by(Tx) %>%
   summarise(Cfxtn32_mean = mean(Cfxtn32, na.rm = TRUE))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM