我来自蟒蛇背景,我正试图赶上R,所以请耐心等待
我有一个R文件 - util.R包含以下行:
util.add <- function(a,b) a + b
util.sub <- function(a,b) { a - b }
Run Code Online (Sandbox Code Playgroud)
我的来源如下:
source('path/util.R')
我现在有两个函数对象,想要编写一个函数,如下所示:
getFilePath(util.add)
这会给我这个结果
[1] "path/util.R"
我正在浏览GitHub上一个流行的存储库中的一些Perl代码,并运行此方法来计算哈希的大小:
Run Code Online (Sandbox Code Playgroud)while ( my ($a, undef ) = each %h ) { $num++; }
我想为什么会在编写所有代码时遇到麻烦,因为它可以更简单地写成
$num = scalar keys %h;
Run Code Online (Sandbox Code Playgroud)
所以,我将这两种方法与Benchmark进行了比较.
my %h = (1 .. 1000);
cmpthese(-10, {
keys => sub {
my $num = 0;
$num = scalar keys %h;
},
whileloop => sub {
my $num = 0;
while ( my ($a, undef ) = each %h ) {
$num++;
}
},
});
Run Code Online (Sandbox Code Playgroud)
RESULTS
Rate whileloop keys
whileloop 5090/s -- -100%
keys 7234884/s 142047% -- … 有没有办法快速知道 my 中的可执行文件是否$PATH包含特定字符串?例如,我想快速列出包含SRA.
我问的原因是我有几个包含角色的剧本SRA。问题是我总是忘记文件的起始字符(如果我记得,我会使用制表符补全来找到它)。
我有一台32GB内存的Mac服务器(雪豹).当我尝试在Perl(v 5.10.0)中分配超过1.1GB的RAM时,出现内存不足错误.这是我使用的脚本:
#!/usr/bin/env perl
# My snow leopard MAC server runs out of memory at >1.1 billion bytes. How
# can this be when I have 32 GB of memory installed? Allocating up to 4
# billion bytes works on a Dell Win7 12GB RAM machine.
# perl -v
# This is perl, v5.10.0 built for darwin-thread-multi-2level
# (with 2 registered patches, see perl -V for more detail)
use strict;
use warnings;
my $s;
print "Trying 1.1 GB...";
$s = …Run Code Online (Sandbox Code Playgroud) 我有一个数据框 (df)
structure(list(key = 1:10, x = structure(c(1L, 1L, 1L, 2L, 3L,
4L, 5L, 5L, 5L, 5L), .Label = c("x1", "x2", "x3", "x4", "x5"), class = "factor"),
y = structure(c(2L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L), .Label = c("no",
"yes"), class = "factor")), .Names = c("key", "x", "y"), class = "data.frame", row.names = c(NA, -10L))
Run Code Online (Sandbox Code Playgroud)
当我创建一个列联表时,table(df$x, df$y)我得到了这个:
no yes
x1 1 2
x2 0 1
x3 1 0
x4 1 0
x5 1 3
Run Code Online (Sandbox Code Playgroud)
但我想在 …
我有一个a带有多个ID代码的向量:
a <- c(167.1, 89.7, 284.1, 108.1, 50.6, 276.5, 283.2, 357.3, 119.2, 92.2, 314.4, 400.2, 154.5, 104.5, 198.2)
> a
[1] 167.1 89.7 284.1 108.1 50.6 276.5 283.2 357.3 119.2 92.2 314.4 400.2 154.5 104.5 198.2
Run Code Online (Sandbox Code Playgroud)
我还有y三列数据框:一个是ID代码,下一个是物种名称,第三个是生物变量(请注意,在我的完整数据集中,有许多行具有相同的Drop_ID值):
> y[4:14,]
Drop_ID Common.Name distance_m
4 170.4 Greenspotted Rockfish 0.389
5 167.1 Bocaccio 0.390
6 163.1 Greenspotted Rockfish 0.393
7 193.1 Copper Rockfish 0.404
8 108.1 Shortbelly Rockfish 0.405
9 114.2 Spotted Ratfish 0.405
10 190.1 Chilipepper …Run Code Online (Sandbox Code Playgroud)