如果a和b是數據框,並且想要回溯b中各個值的單個值,則需要將它們轉換爲向量。例如:
> lm(as.vector(as.matrix(a))~as.vector(as.matrix(b)))
Call:
lm(formula = as.vector(as.matrix(a)) ~ as.vector(as.matrix(b)))
Coefficients:
(Intercept) as.vector(as.matrix(b))
8.418239 -0.005241
缺少數據缺省情況下會丟失 - 請參閱help(lm)和na.action參數。 lm對象的彙總方法將告訴您關於丟棄的觀察值。
當然,忽略可能存在於空間數據中的空間相關性,意味着您根據參數估計的推論是完全錯誤的。映射殘差。並閱讀一本關於空間統計的好書...
[編輯:哦,數據幀必須是全部數字或整個很多都轉換爲字符,然後...呃,誰知道...]
編輯:
從數據幀獲得的載體的另一種方法就是使用 '不公開':
> a=data.frame(matrix(runif(16),4,4))
> b=data.frame(matrix(runif(16),4,4))
> lm(a~b)
Error in model.frame.default(formula = a ~ b, drop.unused.levels = TRUE) :
invalid type (list) for variable 'a'
> lm(unlist(a)~unlist(b))
Call:
lm(formula = unlist(a) ~ unlist(b))
Coefficients:
(Intercept) unlist(b)
0.6488 -0.3137
我從來沒見過data.matrix之前,THX加文。
其實我的數據集非常大。我只是舉一個例子。數據a和b都是數據幀,列表示緯度列表和行經度。 – didimichael 2010-11-23 18:43:16
你能給我們提供更多關於你正試圖解決的問題的信息嗎?你是否試圖倒退b *中的所有*列中的每個*列?或者b中每列的每一列? (如果你想在b的on * all *列中包含* all *列,那麼正如上面的DWin所說的,你真的正在尋找一個多變量分析...) – 2010-11-23 20:27:00