[問題] 不同長度的資料作fitting

看板R_Language作者 (hewolf)時間8年前 (2017/08/12 16:04), 8年前編輯推噓2(205)
留言7則, 1人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 手邊有幾組資料,長這樣 data1 200x2 matrix V1 Y [1] ... [200] data2 150x2 matrix V1 Y [1] ... [150] data3 120x2 matrix V1 Y [1] ... [120] 這幾組資料分別對應另一個變數V2 我預計的fitting的方程式最後會長 Y= (a+aa*V2)+(b+bb*V2)*V1 目前想到最土法鍊鋼的方式是每一組 先假設成Y=A+B*V1,再把一組的A和B 求出來,再分別以V2對他們作fitting 得到(a,aa,b,bb). 這樣的做法跟手動沒什麼差別,沒辦法 處理大量資料. 有辦法用比較簡單的code或package 來作這件事情嗎? 謝謝 [環境敘述]: Linux [關鍵字]: fitting -- ※ 編輯: hewolf (101.0.132.64), 08/12/2017 16:05:46

08/12 16:24, , 1F
請問新增一個欄位V2然後把3組資料合併為一個data frame不行
08/12 16:24, 1F

08/12 16:24, , 2F
嗎?
08/12 16:24, 2F
我的code是這樣的 y[1]<-data.matrix(data[2]) x[1]<-data.matrix(data[1]) y[2]<-data.matrix(data1[2]) x[2]<-data.matrix(data1[1]) 這是fitting code fit_nls = nls(y ~ exp((a+aa*V2)+(b+bb*V2)*x), start = c(a =1,b = 1,aa=1,bb=1), trace = T) 結果是這樣... 6: In x[2] <- -data.matrix(data1[1]) : number of items to replace is not a multiple of replacement length 7: In (b + bb * E) * x : longer object length is not a multiple of shorter object length ※ 編輯: hewolf (101.0.132.64), 08/12/2017 16:28:40

08/12 16:29, , 3F
另外fitting方程式不是應該先檢查變數之間相關性再決定有沒
08/12 16:29, 3F

08/12 16:29, , 4F
有交互作用之類的?(抱歉因為覺得直接預計fitting方程式長
08/12 16:29, 4F

08/12 16:30, , 5F
的樣子這點很奇怪才有此一問)
08/12 16:30, 5F

08/12 16:34, , 6F
喔原來是做nls的fitting,抱歉我剛剛直覺想的是普通的迴歸
08/12 16:34, 6F

08/12 16:34, , 7F
模型
08/12 16:34, 7F
文章代碼(AID): #1PZhQeig (R_Language)
文章代碼(AID): #1PZhQeig (R_Language)