0
我对R相当陌生,我喜欢理解使用“apply” - 系列函数来避免循环和自定义函数的概念。不幸的是,我在第一次练习中失败了。对矢量的每个独特元素使用approxfun
这是我最小的可重复的例子:
x <- data.frame(Hours=cbind(c(rep(5,5),rep(6,5),rep(7,5),rep(8,5),rep(9,5))),Price=c(cbind(seq(48,50.4, by=0.1),seq(48,52.8, by=0.2),seq(48,55.2, by=0.3),seq(48,57.8, by=0.4),seq(48,60.0, by=0.5))),Volume=seq(10000:10024))
f1 <- approxfun(x$Volume,x$Price, rule=2)
plot(x$Volume, x$Price)
curve(f1, add=TRUE)
不过,我想在x$Hour
与每一个独特小时进行approxfun()
。
我该如何解决这个问题?
谢谢你的帮助。
成语是分裂/应用/组合:分割数据,应用功能,合并结果。 R/* plyr/data.table等具有许多功能:'fns < - lapply(split(x,x $ Hours),function(dat)approxfun(dat $ Volume,dat $ Price,rule = 2)) ;情节(x $ Volume,x $ Price); cols < - 1;对于fn中的(fn)曲线(fn,add = TRUE,col =(cols << - cols + 1))' – jenesaisquoi
我不知道这是可以做到的。大。这对我很有帮助。如果你可以发表你的评论作为答案,我想接受它作为对这个问题的答案。 – lammy
很高兴你有它的工作,随时回答,如果你有动力。 – jenesaisquoi