有關列表語法的另一個問題(我正在慢慢學習,我認爲)。我在以下簡化形式數據:將hist應用於包含NA的數據框列表
a=c(1,2,3,4,5,NA,NA)
b=c(6,7,8,9,10,NA,NA)
c=c(6,5,3,NA,NA,NA,NA)
d=c(NA,NA,NA,NA,NA,NA,NA)
A=data.frame(a,b,c,d)
B=data.frame(c,b,a,d)
C=data.frame(d,c,b,a)
mylist=list(A,B,C)
bins=c(0,2,4,6,8,10)
我想根據定義的二進制位在dataframes列表倉的每個列,然後返回一個平均數各bin爲每個數據幀。我不介意輸出是什麼形式,數據幀或向量列表。因此,在這個例子:
hist(a,bins, plot= FALSE)
hist(b,bins, plot= FALSE)
hist(c,bins, plot= FALSE)
給出
$counts
[1] 2 2 1 0 0
$counts
[1] 0 0 1 2 2
$counts
[1] 0 1 2 0 0
分別計數。
我不知道該怎麼做,但考慮到d只包含NA的我想它返回:
$counts
[1] 0 0 0 0 0
(我想將每個NA爲0)。
因此A的平均值(其中包含A,B,C,d)將是:
$counts
[1] 2 2 1 0 0 +
$counts
[1] 0 0 1 2 2 +
$counts
[1] 0 1 2 0 0 +
$counts
[1] 0 0 0 0 0 +
= 2 3 4 2 2/4
= 0.5 0.75 1 0.5 0.5
這將是我的數據幀A.期望的輸出向量的最終列表還將包括有關矢量對於B和C,儘管正如我所說,初始列表中每個數據幀的列的數據框也沒有問題,因爲最後一步是我將這些平均值計算在箱的中點上。
我希望我的解釋足以說明我正在嘗試做什麼。
製作'd'數字:'d < - as.numeric(d) '它應該工作。 – Thomas
嗨托馬斯,謝謝你。在更簡單的情況下,我想忽略包含所有NA(如d)的數據框列表中的列,我該如何處理數據並獲取平均值? – user1912925