我有一个数组(perl)的散列,其键是一个由制表符连接的字符串。这就是哈希键的样子
chr"\t"fivep"\t"threep"\t"strand # separated on tab
Run Code Online (Sandbox Code Playgroud)
如果哈希被命名 %output
我想对这个散列的键进行排序,这样首先排序是在 chr 上完成的,然后是 Fivep,然后是 Threep。
我尝试了以下代码进行排序:
foreach my $k(sort keys %output){
print join("\t",$k,@{$output{$k}}),"\n";
}
Run Code Online (Sandbox Code Playgroud)
这种排序只对 chr 进行排序,但我想在它之后排序五个,然后再排序三个。
我怎样才能做到这一点?
我有以下数据框:
df <- read.table(text = "group age status
A 25 yes
A 32 no
A 58 yes
A 78 no
A 76 yes
B 21 no
B 71 yes
B 43 no
B 48 no
C 39 no
C 82 yes
C 87 no
C 91 yes", header = T)
Run Code Online (Sandbox Code Playgroud)
我想对列进行 group_by 分组,然后以某种方式进行汇总,如果年龄小于 50 岁并且状态为“是”,则计算这些值,然后计算年龄小于 50 岁的值的总数。因此对于“A”在数据框中:
age_lt_50_yes = 1
age_lt_50 = 2
Run Code Online (Sandbox Code Playgroud)
同样,对于年龄大于 50 岁,选择“是”,然后选择年龄大于 50 岁;为一个'; 这会是 :
age_gt_50_yes = 2
age_gt_50 = 3
Run Code Online (Sandbox Code Playgroud)
我实际上想要一个age_lt_50_yes/age_lt_50的比率,对于“A”,这将是1/2,而对于“A”,age_gt_50_yes/age_gt_50 = 2/3
如果无论如何我遇到这样的情况 …
我试图在终端上运行for循环,我希望将每次迭代发送到后台进程,以便所有这些循环同时运行.
以下是逐个运行的命令
for i in *.sra; do fastq-dump --split-files $i ; done # ";" only
Run Code Online (Sandbox Code Playgroud)
我突出了分号.
同时运行这个工作
for i in *.sra; do fastq-dump --split-files $i & done # "&" only
Run Code Online (Sandbox Code Playgroud)
但这会给出错误
for i in *.sra; do fastq-dump --split-files $i & ; done # "& ;"
Run Code Online (Sandbox Code Playgroud)
如果有人解释这里发生的事情会很好.我知道这应该用shell脚本方式编写,并有适当的缩进,但有时我只有这个命令才能运行.
谢谢
我正在使用 ggpubr 库中的 ggscatter 函数来制作散点图。我的数据框看起来像这样
1 a b chr17 + 0.003 0.005 0,2 282232 4,0 253259 non_sig
10 a b chr22 - 0.733 0.6855 16,17 3,3 24,45 11,4 non_sig
12 a b chr13 + 0.7625 0.7965 22,14 1,7 7,18 1,4 non_sig
14 a b chr13 + 0.4555 0.369 20,16 19,12 4,23 17,11 non_sig
15 a b chr13 + 0.488 0.384 27,15 19,12 7,18 17,11 non_sig
16 a b chr16 - 0.9715 0.978 200141 3,2 260280 3,3 non_sig
21 a b …Run Code Online (Sandbox Code Playgroud)