小编Ass*_*him的帖子

选择列具有类似'hsa ..'的字符串的行(部分字符串匹配)

我有一个包含micro RNA数据的371MB文本文件.基本上,我只想选择那些有人类microRNA信息的行.

我已经使用read.table读取了该文件.通常,我会用sqldf完成我想要的 - 如果它有'like'语法(select*from <>其中miRNA就像'hsa').不幸的是 - sqldf不支持该语法.

我怎么能在R中这样做?我查看了stackoverflow并没有看到如何进行部分字符串匹配的示例.我甚至安装了stringr包 - 但它并不完全符合我的需要.

我想做的是这样的 - 所有选择hsa- *的行.

selectedRows <- conservedData[, conservedData$miRNA %like% "hsa-"]
Run Code Online (Sandbox Code Playgroud)

当然,这是不正确的语法.

有人可以帮我这个吗?非常感谢阅读.

阿斯达

string r match

80
推荐指数
4
解决办法
25万
查看次数

在进行信号的频谱分析时的傅里叶变换(FFT)的单位

我的问题与对信号进行频谱分析的结果的物理意义有关,或者将信号抛入FFT并使用合适的数字包解释出来的结果,

特别:

  • 发信号,说时变电压v(t)
  • 把它扔进FFT(你得到一系列复数)
  • 现在取模数(abs)并将结果平方,即| fft(v)| ^ 2.

所以你现在在y轴上有实数 - 我应该称这些频谱系数?

  • 使用采样分辨率,您可以遵循食谱配方并将频谱系数与频率相关联.
  • 在这一点上,你有一个频率g(w),频率在x轴上,但y轴上的物理单位是多少?

我的理解是这个频谱显示了电压信号中存在多少不同的频率 - 它们是频谱系数,它们是重构原始信号所需的各种频率的正弦和余弦的系数.

所以第一个问题是,这些频谱系数的单位是多少?

这很重要的原因是频谱系数可能很小而且很大,所以我想用dB标度来表示它们.

但要做到这一点,我必须做出选择:

  • 要么我使用20log10 dB转换,对应于现场测量,如电压.
  • 或者我使用10log10 dB转换,对应于能量测量,如电源.

我使用哪种缩放取决于单位是什么.

任何关于此的光线都将非常感激!

math physics fft measurement spectrum

59
推荐指数
3
解决办法
9万
查看次数

在Windows批处理脚本中获取没有扩展名的文件名

我正在尝试创建一个右键单击上下文菜单命令,用于使用YUI压缩器压缩JavaScript文件.我的最终目标是尝试让它在上下文菜单上运行:

java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用该变量%1来引用正在打开的文件名.我无法弄清楚如何将此命令转换为批处理文件语法,并且无法在线找到任何答案.

更新:
Jeremy的回答(+评论)奏效了.对于任何偶然发现这一点的人来说,这就是我必须做的事情:

在我为JavaScript文件创建的操作中,我使用它作为命令:

minify.bat "%1"
Run Code Online (Sandbox Code Playgroud)

哪个调用我的批处理脚本,如下所示:

java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1
Run Code Online (Sandbox Code Playgroud)

对于批处理脚本,请记住上面的代码假定java.exe和yuicompressor的目录都添加到您的PATH变量中.如果不将这些添加到路径中,则必须使用文件的完整路径.

该序列%~dpn用于获取:

  1. %~d - 驱动器
  2. %~p - 路径
  3. %~n - 文件名

windows command-line batch-file

54
推荐指数
2
解决办法
7万
查看次数

R在Python中是否具有与reduce()相当的东西?

即:"将两个参数的函数累加到序列项中,从左到右,以便将序列减少为单个值."

reduce functional-programming r

28
推荐指数
1
解决办法
8193
查看次数

如何检测时间序列数据中的重大变化/趋势?

所以我有一个25个样本的阵列,我希望能够记录它是否从这25个采样时间间隔减少n或增加的趋势(基本上25个样本数组是我的缓冲区,每个说1毫秒填充).

请注意,这是我正在寻找的一般趋势,而不是单个衍生物(正如我将使用有限差分或其他数值微分技术获得).

基本上我希望我的数据有噪音,所以即使在进行过滤等操作之后也可能出现起伏.但这是我正在寻找的增加或减少行为的一般趋势.

我希望在每个ms中集成增加/减少行为以触发某个事件,这更多的是用户界面事件(闪烁LED),因此只要我能检测到一般趋势,它就不必非常延迟处理.

提前致谢!

algorithm statistics numerical signal-processing real-time

26
推荐指数
3
解决办法
3万
查看次数

如何在SQL(Excel)中传递参数进行查询

我将Excel"链接"到Sql并且工作正常 - 我编写了一些SQL脚本,它运行良好.我想要做的就是将参数传递给查询.就像我每次刷新一样,我希望能够将参数(过滤条件)传递给Sql Query.在"连接属性"中,"参数"按钮被禁用.所以我不能进行参数查询.谁能帮我?

sql excel parameter-passing

25
推荐指数
2
解决办法
13万
查看次数

推送与移动的成本(堆栈与近存储器)以及函数调用的开销

题:

访问堆栈的速度与访问内存的速度相同吗?

例如,我可以选择在堆栈中做一些工作,或者我可以直接使用内存中的标记位置工作.

所以,具体来说:push ax速度是一样的mov [bx], ax吗?同样pop ax的速度是一样的mov ax, [bx]?(假设bx在near内存中占有一个位置.)

问题的动机:

在C中常见的是阻止带参数的琐碎函数.

我一直认为这是因为不仅必须将参数压入堆栈,然后在函数返回后弹出堆栈,还因为函数调用本身必须保留CPU的上下文,这意味着更多的堆栈使用.

但假设有人知道标题问题的答案,那么应该可以根据相同数量的直接内存访问来量化函数用于设置自身的开销(推/弹/保存上下文等).因此标题问题.


(编辑:澄清:near上面使用的是与16位x86架构far分段内存模型相反.)

c x86 assembly stack processing-efficiency

24
推荐指数
2
解决办法
5145
查看次数

如何在MATLAB中找到图像中的局部最大值?

我在MATLAB中有一个图像:

y = rgb2gray(imread('some_image_file.jpg'));
Run Code Online (Sandbox Code Playgroud)

我想对它做一些处理:

pic = some_processing(y);
Run Code Online (Sandbox Code Playgroud)

并找到输出的局部最大值.也就是说,其中的所有点y都大于其所有邻居.

我似乎无法找到一个很好的MATLAB函数.我能想到的最好的是:

[dim_y,dim_x]=size(pic);
enlarged_pic=[zeros(1,dim_x+2);
              zeros(dim_y,1),pic,zeros(dim_y,1);
              zeros(1,dim_x+2)];

% now build a 3D array
% each plane will be the enlarged picture
% moved up,down,left or right,
% to all the diagonals, or not at all

[en_dim_y,en_dim_x]=size(enlarged_pic);

three_d(:,:,1)=enlarged_pic;
three_d(:,:,2)=[enlarged_pic(2:end,:);zeros(1,en_dim_x)];
three_d(:,:,3)=[zeros(1,en_dim_x);enlarged_pic(1:end-1,:)];
three_d(:,:,4)=[zeros(en_dim_y,1),enlarged_pic(:,1:end-1)];
three_d(:,:,5)=[enlarged_pic(:,2:end),zeros(en_dim_y,1)];
three_d(:,:,6)=[pic,zeros(dim_y,2);zeros(2,en_dim_x)];
three_d(:,:,7)=[zeros(2,en_dim_x);pic,zeros(dim_y,2)];
three_d(:,:,8)=[zeros(dim_y,2),pic;zeros(2,en_dim_x)];
three_d(:,:,9)=[zeros(2,en_dim_x);zeros(dim_y,2),pic];
Run Code Online (Sandbox Code Playgroud)

然后查看第3维中的最大值是否出现在第1层(即:)three_d(:,:,1):

(max_val, max_i) = max(three_d, 3);
result = find(max_i == 1);
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?这看起来像是一块垃圾.

matlab image-processing mathematical-optimization

20
推荐指数
3
解决办法
3万
查看次数

为什么"else"行给出了无效的语法错误?

我有这个错误:

File "zzz.py", line 70
    else:
       ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

导致问题的行在代码中标有注释:

def FileParse(self, table_file):
    vars={}
    tf = open(table_file, 'r')
    for line in tf:
        if line.startswith("#") or line.strip() == "": pass
        elif line.startswith("n_states:"):
            self.n_states = str(line[9:].strip())
        elif line.startswith("neighborhood:"):
            self.neighborhood = str(line[13:].strip())
        elif line.startswith("symmetries:"):
            self.symmetries = str(line[11:].strip())
        elif line.startswith("var "):
            line = line[4:]
            ent = line.replace('=',' ').\
            replace('{',' ').\
            replace(',',' ').\
            replace(':',' ').\
            replace('}',' ').\
            replace('\n','').split()
            vars[ent[0]] = []
            for e in ent[1:]:
                if e in vars: vars[ent[0]] += vars[e]
                else: 
                    vars[ent[0].append(int(e))] …
Run Code Online (Sandbox Code Playgroud)

python if-statement indentation syntax-error

18
推荐指数
1
解决办法
5万
查看次数

使用OpenCV在灰度图像中查找局部最大值

有人知道如何IPL_DEPTH_8U使用OpenCV 在灰度图像中找到局部最大值吗?HarrisCorner提到了类似的东西,但我实际上对角落不感兴趣......谢谢!

opencv image image-processing mathematical-optimization

18
推荐指数
5
解决办法
4万
查看次数