我有文件夹,其中包含大约200个.txt文件.我想读取所有文件并选择每个文件的第二列并将它们放在一个矩阵中.(rbind())是否有任何命令一次读取所有文件?
我想用:
data<-read.table ("", header= T, sep=",")
Run Code Online (Sandbox Code Playgroud) 我已经开始学习bash脚本了.我写了简单的while循环,但它不起作用.它说:命令没有找到.有人知道为什么吗?这是我的代码:
let x=5; while [$x -lt 10];do echo "x is : $x";let x=$x+1; done
Run Code Online (Sandbox Code Playgroud) 我的名字如下.我只是想保留这部分..怎么样
>name
uc001aaa.3
uc001aac.4
uc001aae.4
uc001aah.4
uc001aai.1
uc001aak.3
uc001aal.1
uc001aam.4
uc001aaq.2
uc001aar.2
Run Code Online (Sandbox Code Playgroud)
如何使用regex或sub在R中实现此功能?
我有一个矩阵:
>data
A A A B B C
gene1 1 6 11 16 21 26
gene2 2 7 12 17 22 27
gene3 3 8 13 18 23 28
gene4 4 9 14 19 24 29
gene5 5 10 15 20 25 30
Run Code Online (Sandbox Code Playgroud)
我想测试每个基因的不同组之间每个基因(行)值的平均值是否不同?我想用它进行T检验.该函数应该将所有列都归属于组A,将所有列归属于组 B,将所有列归属于组C,...并计算每个基因的每个组之间的T检验.(每组包含几列)实现哪个我从回答到我的预览帖子是:
Results <- combn(colnames(data), 2, function(x) t.test(data[,x]), simplify = FALSE)
sapply(Results, "[", c("statistic", "p.value"))
Run Code Online (Sandbox Code Playgroud)
但它确实在所有列之间进行计算,而不是在每行的组之间进行计算.有人可以帮我修改这段代码来计算组间的T检验,比如我的数据吗?
我想将函数应用于矩阵的每个元素.我用for循环做.但由于速度对我来说至关重要,我想知道是否有人可以通过删除for循环来帮助我更快地完成它?
这是我的代码:
Nrow=size(W,1);
Ncol=size(W,2);
for R=1:Nrow
for C=1:Ncol
W(R,C)=(sign(W(R,C))) * (max((abs(W(R,C))- lambda),0));
end
end
Run Code Online (Sandbox Code Playgroud) 我有一个很大的列表,我想找到它的最大元素,但它似乎不起作用.有人会帮助我吗?
我的清单的一部分:
>X
[[722]]
[1] 3489
[[723]]
[1] 3100
[[724]]
[1] 3520
[[725]]
[1] 3544
[[726]]
[1] 3476
[[727]]
[1] 3625
[[728]]
[1] 3305
Run Code Online (Sandbox Code Playgroud)
这是我的努力:
lapply(X, FUN=max )
Run Code Online (Sandbox Code Playgroud)
但它没有给我单个数字,例如,这个列表中最大的条目.在这里,我希望得到3625作为输出.
我有非常大的文件,看起来像这样:
ENST00000629289"; transcript_version "2"; exon_number "22"; gene_name "CDK11B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "CDK11B-208"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00001594002"; exon_version "1"; tag "basic"; transcript_support_level "5";
ENST00000629289"; transcript_version "2"; exon_number "22"; gene_name "CDK11B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "CDK11B-208"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00001594002"; exon_version "1"; tag "basic"; transcript_support_level "5";
ENST00000629289"; transcript_version "2"; exon_number "22"; gene_name "CDK11B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "CDK11B-208"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000485937"; protein_version "1"; tag "basic"; transcript_support_level "5";
Run Code Online (Sandbox Code Playgroud)
我想提取所有唯一以特定字符"ENST"开头的单词我尝试了以下命令:
sed 's/.*\(ENST.*transcript_version\)/\1/p'
Run Code Online (Sandbox Code Playgroud)
但它打印出所有的线条.有人会帮我这个吗?
我有矩阵A,我想得到它的元素坐标(row和col)给定该矩阵的元素.
我使用了哪个(A ==数字),但它没有给出给定元素的行和列号.我今天有什么想法我应该使用哪种功能?
> A
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
Run Code Online (Sandbox Code Playgroud)
例如,对于给定的element = 18,我想得到coordinate:3, 4
我有两个向量:
vector1<- c(0.01,0.02,0.04,0.5,0.9,0.002,0.07,0.008)
vector2<- c(1,0,0,1,0,0,0,0)
Run Code Online (Sandbox Code Playgroud)
vector2vector 1显示特定集合中每个元素的成员资格。我想排序vecotor1,但vector 2也应该排序vector 1。我怎样才能在 R 中实现它?
预期输出:
sort(vector1, decreasing=T)
[1] 0.900 0.500 0.070 0.040 0.020 0.010 0.008 0.002
>sorted_vector2:
[1] 0 1 0 0 0 1 0 0
Run Code Online (Sandbox Code Playgroud) 我想标准化R中的数据(平均零和标准差1.0),我使用scale()函数.我的所有数字都大于零.但是当我将它们标准化时,我仍然有数字; 100,......更奇怪的是,当我绘制密度时,我的密度也为负值!!
这是我的数据的子集:
Tr[1:10,]
[1] 1.287161e+01 1.300534e+00 1.140467e+00 7.958636e-01 4.886365e-01
data<-scale(Tr)
Run Code Online (Sandbox Code Playgroud)
有人会帮我解决这个问题吗?