我正在處理一個數據集,並希望對某些變量進行一些描述性統計並將它們放在一個數據框中。 我可以應付這樣的情況:將來自不同列的lapply的結果放到一個數據框中
dt<-data.frame('X1'=rnorm(10),
'X2'=rnorm(10))
temp<-do.call(rbind, lapply(dt, summary))
而且還像這樣的情況:
dt<-data.frame('X1'=rnorm(10),
'X2'=rnorm(10))
dt[1,2]<-NA
dt[2,1]<-NA
temp<-do.call(rbind, lapply(dt, summary))
但是,當涉及到的情況類似下面,我不能:
dt<-data.frame('X1'=rnorm(10),
'X2'=rnorm(10))
dt[1,2]<-NA
temp<-do.call(rbind, lapply(dt, summary))
當某些變量包含NA而有些不包含時,不同變量的結果將會有不同的列:
> lapply(dt, summary)
$X1
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.7821000 -0.2881000 -0.0003675 0.3195000 0.8114000 2.0230000
$X2
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
-1.336000 -0.604000 -0.005283 0.008491 0.784300 1.407000 1
在這種情況下rbind
將不再工作。我意識到有rbnd.fill
可以做行綁定時,數據幀有不同的列,但將每個變量的結果轉移到數據框,然後將它們結合rbind.fill
會是一種乏味,我相信有一個命令的解決方案給出功率R有。
希望有人能幫助我,對您的時間和知識深表感謝!
非常感謝@Sotos,一個美好的解決方案完美的作品。我會以此爲答案! –