如何解决从sapply的子集中提取参数并进行r平方
要按子集运行一次,我做了如下操作:
z1 <- sapply( split( data,data$code),function(d){ dat <- list2env(d)
nlsfit <- nlsLM(form = SGP ~ a *exp(-b*exp(-c*time)),data=dat,start= list( a=30,b=1.5,c = 0.053))
list(summary(nlsfit))} )
我能够看到很好的参数,但是当我尝试使用write.csv
导出参数时,我得到的只是Excel中的一个奇怪且混合的表
代替 list(summary(nlsfit))
我确实尝试过
as.array.default
as.array
as.table
as.data.frame
如果我删除summary
并写成coef
,我得到的系数就可以很好地排列在excel文件.csv中,但是别无其他(r平方,标准误差t值Pr(> | t |))
谢谢
我正在按可变代码对数据进行子集化,在这里我分享了部分数据,因为代码不断增长到300_PI
对象数据为:
structure(list(id = 1:300,code = c("1_PI","1_PI","2_PI","3_PI","4_PI","5_PI","5_PI"
),run = c(3L,3L,2L,3L),time = c(2L,4L,6L,8L,12L,16L,24L,36L,48L,60L,72L,96L,96L),SGP = c(7.9,9.9,11.2,13.3,17.4,21,27,32.8,36.8,38.4,40,41,7.1,8.7,9.1,11.7,14.8,18.7,25,30.9,35.4,39,8.1,10.4,11.5,14.2,15.6,19.1,25.6,29.6,33.8,35.2,36.6,37.6,7.9,12,15,17.3,20.8,23.3,27.8,31.4,36.3,7.3,10.8,12.4,16.5,19.3,22.5,26.4,29.4,32.4,34.8,35.8,38.2,8.6,10.3,13.4,17.1,21.6,26.8,32,36,37.4,39.4,11.1,14.3,18.1,21.7,27.9,36.7,39.1,39.5,13.8,20,26.2,30.8,34.2,35.6,37.1,37.9,8.5,16.7,17.5,24.1,26.3,28.7,30.4,32.5,13.2,15.9,18.3,20.3,29.7,31.8,33.5,34.6,36.2,8.9,18.2,19.6,21.9,30.3,33,9.4,12.3,14,18.6,31,37.8,13,15.8,22.1,26.9,31.2,36.1,38.3,38.9,16.4,26.7,37.7,10.1,13.7,20.2,22.7,24.4,27.7,29.1,31.7,32.6,34.5,9.2,19.8,20.9,22.9,28.2,30,12.9,16.1,19.5,19.7,30.7,31.6,6.3,8,12.8,16.8,36.9,38.7,40.1,6.8,8.2,17.7,23.5,28.4,32.7,34,35.3,5.9,8.3,11.6,14.5,24.3,28.6,34.1,35.7,36.5,7.8,19.9,21.5,24.7,27.3,29.3,31.1,33.1,6.6,23,26.5,28.9,10.2,15.4,16.2,19,22.3,24.6,25.9,28,29.5,34.7,39.9,41.6,42.6,18,21.4,36.8),dm = c(36.44,36.44,36.87,35.85,38.49,38.49
)),row.names = c(NA,300L),class = "data.frame")```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。