var()保持返回NA或NaN R.

时间:2016-05-12 17:56:14

标签: r nan var

我正在尝试计算数据框中变量的方差,var(df $ var)会保持返回NA或NaN。变量是两个原始变量之间的比率; FOODperINC = FOODexp / TOTALINC

FOODexp和TOTALINC的var()确实返回数字。

我搜索并尝试了以下内容:

  

从原始变量和FOODperINC中删除NA。

     

将1添加到TOTALING,以避免超过0

     

var(as.numeric())/ var(as.vector())

我不太明白为什么我可以;计算方差。我做错了什么?

我的参考代码:

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 :(得分:0)

brainfart;

df4$INCperFOOD != df4$FOODperINC

谢谢奥桑!

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