首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据框中多因子样条

数据框中多因子样条
EN

Stack Overflow用户
提问于 2012-07-06 05:09:23
回答 1查看 661关注 0票数 1

这个问题是在这样的背景下提出的,我有很多模型类型,每个模型都属于同一类,但每个模型的数据量都很小,我想用样条来获得更完整的数据集。我希望找到一种方法来做到这一点,而不必每次单独对每个模型进行一次样条化。

因此,我有以下df:

代码语言:javascript
复制
mydf<- data.frame(c("a","a","b","b","c","c"),c("e","e","e","e","e","e")
                 ,as.numeric(c(1,2,3,10,20,30)),
                 as.numeric(c(5,10,20,20,15,10)))

给出一些名字:

代码语言:javascript
复制
colnames(mydf)<-c("Model", "Class","Seconds", "Speed")

这将创建:

代码语言:javascript
复制
> mydf
  Model Class Seconds Speed
1     a     e       1     5
2     a     e       2    10
3     b     e       3    20
4     b     e      10    20
5     c     e      20    15
6     c     e      30    10

所以我想在每块模型的秒数和速度列上设置一个样条线。因此,举个例子,如果我在模型"a“上使用样条线,那么你只能用"a”上的样条线作为模型。

像这样:

代码语言:javascript
复制
spline(x=mydf[1:2,3], y=mydf[1:2,4])
$x
[1] 1.0 1.2 1.4 1.6 1.8 2.0

$y
[1]  5  6  7  8  9 10

这是可行的,但当你有数百个模型时...

我只想用"a“对"a”进行样条,然后它移动到"b“,只对"b”进行样条,等等。理想情况下,它会输出为新的数据帧,但在这一点上,我只希望不会出现错误。

我尝试在plyr中使用ddply,但得到了错误。我希望避免使用循环或带循环的函数,但如果这是唯一的选择,那么……

谢谢,如果我能改进这个问题,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-06 06:13:01

这样如何:

代码语言:javascript
复制
ddply(mydf, .(Model), summarise, Spline = spline(x = Seconds, y = Speed), 
      Var = c("Seconds", "Speed"))
  Model                        Spline     Var
1     a  1.0, 1.2, 1.4, 1.6, 1.8, 2.0 Seconds
2     a             5, 6, 7, 8, 9, 10   Speed
3     b 3.0, 4.4, 5.8, 7.2, 8.6, 10.0 Seconds
4     b        20, 20, 20, 20, 20, 20   Speed
5     c        20, 22, 24, 26, 28, 30 Seconds
6     c        15, 14, 13, 12, 11, 10   Speed
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11352604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档