我想在R中卷入两个函数。我从convolve(x,y,conj=TRUE, type="filter")
开始。我有两个数据文件,其中包含2列。在第一个数据文件中,我有名为lambda
和flux
的列,而在其他数据文件中,我有lambda
和SED
。我的任务是删除这两个函数,但我的文件中有不同的行数,而lambdas
是不同的。
是否有可能在R中对此函数进行卷积。我找不到x
中使用的y
,convolve(...)
的详细说明。在示例中,我只看到前者。 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