我是新來的R和尋求如何兩個數據表之間插入一些建議和打印結果在一個新列「表1」兩個數據的R直線插補設置
表1:
> (Table1 <- read.csv2("~/R/Table1.txt",sep=""))
WindSpeed Degrees Direction
1 7.68 58.9 ENE
2 5.09 63.2 ENE
3 7.56 72.2 ENE
4 8.39 73.8 ENE
5 7.34 73.1 ENE
6 7.83 74.9 ENE
7 8.42 73.8 ENE
8 7.70 85.5 E
9 2.58 75.6 E
表2:
> (Table2 <- read.delim("~/R/Table2.txt")[-1,])
Wind.speed Output
2 0,5 0
3 1,5 0
4 2,5 1.540
5 3,5 5.938
6 4,5 13.747
7 5,5 25.740
8 6,5 42.939
9 7,5 66.301
10 8,5 96.087
現在我想借此表1 $風速值,其中方向==「ENE」和表2 $ Wind.speed值之間插值來打印插值表2 $輸出值轉換爲新的Table1 $ Output。
所以我一直試圖做的是:
(Table1 <-
transform(
Table1, Output =
ifelse(
Direction == "ENE",
approx(
Table2$Wind.speed,Table2$Output,xout=Table1$Output, method = "constant"), "Næsta átt")
)
)
但什麼是錯的,我也得到:
WindSpeed Degrees Direction Output
1 7.68 58.9 ENE 1, 1, 1, 1, 1, 1, 1, 1, 1
2 5.09 63.2 ENE NA, NA, NA, NA, NA, NA, NA, NA, NA
3 7.56 72.2 ENE 1, 1, 1, 1, 1, 1, 1, 1, 1
4 8.39 73.8 ENE NA, NA, NA, NA, NA, NA, NA, NA, NA
5 7.34 73.1 ENE 1, 1, 1, 1, 1, 1, 1, 1, 1
6 7.83 74.9 ENE NA, NA, NA, NA, NA, NA, NA, NA, NA
7 8.42 73.8 ENE 1, 1, 1, 1, 1, 1, 1, 1, 1
8 7.70 85.5 E Næsta átt
9 2.58 75.6 E Næsta átt
人在那裏誰可以幫幫我嗎?
好一點點更新: 我早點起牀的的answere是真正有用的,但我想找到表2給出$輸出之間的值,例如用於
windspeed= 7,68
> 66.301+(96.087-66.301)*(7.68-7.5)/(8.5-7.5)
# [1] 71.66248
我因此不能使用「恆定」由於我的輸出數據不是線性的,我不能使用「線性」......這裏的任何幫助? :)
將模型擬合到Table2中的數據並使用此模型來預測Table1會更好嗎?但是,如果你仍然想插入,你應該使用'approxfun'。 – Roland
你可能會糾正,近似dosnt工作,因爲我的目標是給定輸出值與非線性數據之間的輸出值。我有更新這個問題,你是否介意進一步解釋你的想法? :) –