我創建了一個函數,它接收數據框並返回該數據框中數值變量的平均值和中位數。當我測試函數時,有3個空值。我將如何從這刪除空值?如何刪除列表中的空值
df.numeric.summary <- function(data.frame1){
variable.list=list()
numcols <- sapply(data,is.numeric)
for(i in 1:ncol(data.frame1)){
if (is.numeric(data.frame1[[i]]) == TRUE) {
variable.list[[i]]=list(c("Mean"=mean(data.frame1[[i]], na.rm = TRUE),"Median"=median(data.frame1[[i]]), "IQR"=IQR(data.frame1[[i]])))
}
}
return(variable.list)
}
我的輸出是這樣的:
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
[[4]]
[[4]][[1]]
Mean Median IQR
10.76687 3.56400 7.75100
[[5]]
[[5]][[1]]
Mean Median IQR
10.43467 1.40000 4.50100
[[6]]
[[6]][[1]]
Mean Median IQR
3.701434 0.839000 2.429500
,而輸出應該是這樣的
$Pb1
Mean Median IQR
10.76687 3.56400 7.75100
$Pb2
Mean Median IQR
10.43467 1.40000 4.50100
$Pb3
Mean Median IQR
3.701434 0.839000 2.429500
你是指NULL還是NA?它們在R中有所不同。請提供一個[可重現的示例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)以及樣本輸入數據。 – MrFlick
我添加了我的代碼。 – Hannah
什麼是期望的輸出。你正在分配'variable.list [[i]]',但是'i = 1'這個列看起來不是數字。所以你第一次分配是當'i = 4'離開那些NULL值時。 – MrFlick