2016-05-12 62 views
-1

我想要爲我的數據框中的變量計算方差,但var(df $ var)會一直返回NA或NaN。該變量是兩個原始變量之間的比率; FOODperINC = FOODexp/TOTALINCvar()不斷返回NA或NaN R

FOODexp和TOTALINC的var()返回數字。

我已經搜索並嘗試了以下內容:

從原始變量和FOODperINC刪除NA的。

加1,總計,避免將超過0

VAR(as.numeric())/ VAR(as.vector())

我不明白爲什麼我可以; t計算方差。我究竟做錯了什麼?

我的參考代碼:

df4 = df3[!is.na(df3$FOODTOT.x),] 
df4 = df4[!is.na(df4$FINCAFTM.x),] 


df4$FINCAFTM.x = df4$FINCAFTM.x +1 
df4$INCperFOOD = df4$FOODTOT.x/df4$FINCAFTM.x 

df3$SEAperINC.x = df3$SEAFOOD.x/df3$FINCAFTM.x 
df3$FOODperINC.x = df3$FOODTOT.x/df3$FINCAFTM.x 

var.test(df3$FOODperINC.x, df3$SEAperINC.x) 

var(df4$FOODperINC.x) 


var(df3$SEAperINC.x, na.rm=T) 
var(as.numeric(df4$FOODperINC.x), na.rm=T) 
which(is.null(df4$FOODperINC.x)) 

cov(df5$SEAperINC.x, df3$FOODperINC.x) 
View(df4$FOODperINC.x) 
+1

請將您的代碼添加爲文本而不是圖片,否則我不能被搜索引擎解析並被其他用戶複製。 –

+0

[「我們相信上帝,其他人都必須攜帶數據」--W.Deming](https://www.quora.com/What-is-the-meaning-of-in-God-we-trust-rest-帶來數據)。你可以發佈'dput(head(df3,5))'和'dput(head(df4,5))' – OdeToMyFiddle

+0

的輸出謝謝!我沒有把整個輸出(它的2倍±850變量),但當我讀尾時,它立刻就清楚了。 –

回答

0

brainfart;

df4$INCperFOOD != df4$FOODperINC 

謝謝Ossan!

"INCperFOOD", "FOODperINC", "FOODperINC.x",), row.names = c(NA, 
5L), class = "data.frame")