在R中卷入两个函数

时间:2015-01-24 15:14:39

标签: r

我想在R中卷入两个函数。我从convolve(x,y,conj=TRUE, type="filter")开始。我有两个数据文件,其中包含2列。在第一个数据文件中,我有名为lambdaflux的列,而在其他数据文件中,我有lambdaSED。我的任务是删除这两个函数,但我的文件中有不同的行数,而lambdas是不同的。

是否有可能在R中对此函数进行卷积。我找不到x中使用的yconvolve(...)的详细说明。在示例中,我只看到前者。 x <- c(0,0,0,100,0,0,0)y <- c(0,0,1, 2 ,1,0,0)/4。 求你帮帮我。

更详细的信息。在第一次尝试中,我做了以下事情:

f <- read.table('filtr.dat', header = T)
t <- read.table('SED.dat', header = T)
c <- subset(f, select = c(lam, flux))
d <- subset(t, select = c(lambda, SED))
cm <- as.matrix(c)
dm <- as.matrix(d)

con <- convolve(cm, dm, conj = TRUE, type = "filter")
print(con)

但据我所知,它要求filtr.dat和SED.dat必须具有相同的长度。我的数据文件看起来像(我只复制文件中的几行):

filtr.dat # (lambda is in range ~2.5:6):

lambda flux
2.535182767624  3.570066318538e-06
2.540365535248  4.48837075718e-07
2.545548302872  3.41605613577e-07
2.550731070496  2.511449086162e-07
2.55591383812   2.628061357702e-07
2.561096605744  1.233503916449e-06
2.566279373368  5.77775456919e-06
2.571462140992  8.646391644909e-06
2.576644908616  7.251190600522e-06
2.58182767624   5.943718015666e-06
2.587010443864  4.797289817232e-06
2.592193211488  3.841451697128e-06
2.597375979112  3.145406005222e-06
2.602558746736  0.0001094945300261

SED.dat # (here I have more rows than in filtr.dat; lambda is in range ~0.1:15):

lambda SED
2.01837 2.6281e-15
2.02768 2.6100e-15
2.04174 2.4583e-15
2.05116 2.7267e-15
2.06063 2.9555e-15
2.07014 2.7966e-15
2.07970 2.7142e-15
2.08930 3.0664e-15
2.09411 4.1270e-15
2.09894 4.6734e-15
2.10863 4.3315e-15
2.11836 4.0892e-15
2.13304 4.4018e-15
2.14289 4.1080e-15
2.15278 3.7037e-15
2.16272 4.5148e-15
2.17270 4.5670e-15
2.18273 4.0517e-15
2.19281 4.0986e-15
2.20293 4.7823e-15

0 个答案:

没有答案