2014-12-19 74 views
-3

我非常喜歡R,並嘗試瞭解如何編寫一些我可以在30秒內用Excel解決的問題。 - 所以原諒我,如果這個問題可能有點微不足道...找到R中的缺失值

我有兩個變量有兩個值一樣

x= (3,4); 
y= (300, 500) 

多少才x如果y=400

+1

好奇,您如何在Excel中做到這一點? – 2014-12-19 05:42:09

+0

其實我應該說數字(Macs電子表格程序 - 所以我不確定Excel是否具有相同的功能)。這個函數被稱爲'預測',與要比較的值,然後你添加兩個比較列,在我的情況下,他們將只有兩個值。 – michaelRRR 2014-12-19 08:55:42

回答

2

你可以寫你自己的縮放功能,從一個範圍值映射到另一個

rescale <- function(x, inrange, outrange) { 
    (x-min(inrange))/diff(range(inrange)) * diff(range(outrange)) + min(outrange) 
}  

rescale(400, c(300,500), c(3,4)) 
# [1] 3.5 

這是一個有點矯枉過正,但你可以用lm做得一樣好

x <- c(3,4) 
y <-c(300, 500) 
predict(lm(x~y), data.frame(y=400)) 
# 1 
# 3.5 
+0

完美地工作,感謝您的幫助!我仍然需要一點點才能找到這樣的解決方案... – michaelRRR 2014-12-19 08:51:38

3

你想要

x= (3,4) 
y= (300, 500) 
approx(y,x,400)$y 
[1] 3.5 

只是一個音符$ y和$ x內置於樂趣因此它們與您的變量無關。如果您需要外推使用Hmisc包中的approxExtrap

+0

我嘗試這個包,非常感謝! – michaelRRR 2014-12-19 08:50:57