所以我从CSV中获取了一些信息,将其存储为矩阵,并试图在结果上计算以下操作,但它给了我一个2x2的NA数组。没有在这里看到问题。
data <- read.csv('qog.csv', sep=';')
X <- matrix( log( data$wdi_gnipc ) )
X <- cbind(X, data$ciri_empinx_new)
t(X) %*% X
当我看到X和t(X)时,它们看起来像我期望的那样,所以我将2xn矩阵与nx2矩阵(n是像193这样的大数字)进行矩阵乘法,因此矩阵乘积应该是明确定义并给出有意义的2x2答案。
任何可能出错的想法?
注意:当我尝试
时a&lt; - rbind(c(1,2),c(3,4)) t(a)%*%a
它给出了期望的结果。不确定这与我正在对数据做什么之间的重要区别。
答案 0 :(得分:5)
让我们回答一下。要使用NA
填充交叉产品,NA
内的每列必须至少有一个X
。您可以通过运行
NA
的数量
colSums(is.na(X))
并且很可能你会有那个
all(colSums(is.na(X)) > 0)
# [1] TRUE