2014-12-19 83 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