我正在研究包的一些功能rimage
.例如,如果要查看sobel.h
函数的代码,则可以获得:
> library(rimage)
> sobel.h
function (img)
{
w <- dim(img)[2]
h <- dim(img)[1]
imagematrix(abs(matrix(.C("sobel_h", as.double(img), as.integer(w),
as.integer(h), eimg = double(w * h), PACKAGE = "rimage")$eimg,
nrow = h, ncol = w)), noclipping = TRUE)
}
Run Code Online (Sandbox Code Playgroud)
因此该sobel.h
函数使用被调用的C例程sobel_h
((我认为)存储在文件中rimage.dll
).
有没有办法看到sobel_h
函数的C代码?
(我讲的rimage
是一个实际例子的包;但答案当然会推广到所有使用.C例程的包).
我正在写一个R函数,它变得非常大.它允许多种选择,我正在组织它:
myfun <- function(y, type=c("aa", "bb", "cc", "dd" ... "zz")){
if (type == "aa") {
do something
- a lot of code here -
....
}
if (type == "bb") {
do something
- a lot of code here -
....
}
....
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
如果我写子功能,它看起来像这样:
myfun <- function(y, type=c("aa", "bb", "cc", "dd" ... "zz")){
if (type == "aa") result <- sub_fun_aa(y)
if (type == "bb") result <- sub_fun_bb(y)
if (type == "cc") result <- sub_fun_cc(y)
if (type …
Run Code Online (Sandbox Code Playgroud) 我真的对声音处理新的,所以也许我的问题将是微不足道的。我想要做的是使用 R 从 wav 文件中提取特定的频率范围(假设为 150-400 Hz)。换句话说,我想创建另一个波形文件(wave2),其中仅包含我的频率分量指定(150 到 400 Hz,或其他什么)。
我在网上读了一些东西,我发现这可以通过 FFT 分析来完成,问题就来了。
假设我有这个代码:
library(sound)
s1 <- Sine(440, 1)
s2 <- Sine(880, 1)
s3 <- s1 + s2
s3.s <- as.vector(s3$sound)
# s3.s is now a vector, with length 44100;
# bitrate is 44100 (by default)
# so total time of s3 is 1sec.
# now I calculate frequencies
N <- length(s3.s) # 44100
k <- c(0:(N-1))
Fs <- 44100 # sampling rate
T <- N / Fs …
Run Code Online (Sandbox Code Playgroud) 离散变量的Tsallis 熵定义为:
H[p,q] = 1/(q-1) * (1 - sum(p^q))
Run Code Online (Sandbox Code Playgroud)
连续变量的 Tsallis 熵定义为:
H[p,q] = 1/(q-1) * (1 - int((p(x)^q dx)
Run Code Online (Sandbox Code Playgroud)
其中p(x)
是数据的概率密度函数,并且int
是积分。
我正在尝试在 R 中实现 Tsallis 熵。
假设我有以下数据(由 beta 函数生成,但考虑分布未知)
set.seed(567)
mystring <- round(rbeta(500, 2,4), 2)
Run Code Online (Sandbox Code Playgroud)
离散变量的 Tsallis 熵为:
freqs <- table(mystring) / 500
q = 3
H1 <- 1/(q-1) * (1 - sum(freqs^q))
[1] 0.4998426
Run Code Online (Sandbox Code Playgroud)
我现在想要计算连续变量的 Tsallis 熵:
PDF <- density(mystring)
library(sfsmisc)
xPDF <- PDF$x
yPDF <- PDF$y
H1 <- 1/(q-1) * (1 …
Run Code Online (Sandbox Code Playgroud) 我有一个矩阵A,它是:
A <- matrix(c(1:15), byrow=T, nrow=5)
A
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 13 14 15
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个矩阵B,它是8x8维(或10x10,或15x15等),如下所示:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 2 3 0 0 0 0 0
[2,] 4 5 6 0 0 0 0 0
[3,] 7 8 9 0 0 0 0 0
[4,] 10 11 12 0 0 0 0 0
[5,] 13 14 15 0 …
Run Code Online (Sandbox Code Playgroud) 我有一个谷歌电子表格。在 Sheet2 中我有一些数据,在 Sheet3 中我想过滤 Sheet2 中的数据。具体来说,我希望在 Sheet3 中只收集包含特定变量的 Sheet2 的那些列。
见上图,这是Sheet2
我希望在 Sheet3 中只有第 6 行中包含关键字“Gaetano”的列。因此结果表将只包含 Sheet2 的 B 列和 C 列。
我阅读了很多关于 FILTER 函数的信息,但我仍然无法解决我的问题。
提前致谢。