作者hewolf (hewolf)
看板R_Language
标题[问题] 不同长度的资料作fitting
时间Sat Aug 12 16:04:54 2017
[问题类型]:
程式谘询(我想用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
1F:推 locka: 请问新增一个栏位V2然後把3组资料合并为一个data frame不行 08/12 16:24
2F:→ locka: 吗? 08/12 16:24
我的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
3F:→ locka: 另外fitting方程式不是应该先检查变数之间相关性再决定有没 08/12 16:29
4F:→ locka: 有交互作用之类的?(抱歉因为觉得直接预计fitting方程式长 08/12 16:29
5F:→ locka: 的样子这点很奇怪才有此一问) 08/12 16:30
6F:推 locka: 喔原来是做nls的fitting,抱歉我刚刚直觉想的是普通的回归 08/12 16:34
7F:→ locka: 模型 08/12 16:34