我已经尝试在这个主题上搜索其他线程,但没有一个修复程序对我有用.我有一个自然实验的结果,我想显示一个符合指数分布的事件的连续出现次数.我的R shell贴在下面
f <- function(x,a,b) {a * exp(b * x)}
> x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27
> y
[1] 1880 813 376 161 100 61 31 9 8 2 7 4 3 2 0
[16] 1 0 0 0 0 0 1 0 0 0 0 1
> dat2
x y
1 1 1880
2 …Run Code Online (Sandbox Code Playgroud) 搜索了一些不同的主题,但我没有找到完全相同的问题.我有一个方形相关矩阵,其中行/列名称是基因.切片的矩阵如下所示.
Xelaev15073085m Xelaev15073088m Xelaev15073090m Xelaev15073095m
Xelaev15000002m 0.1250128 -0.6368677 0.3119062 0.3980826
Xelaev15000006m 0.4127414 -0.8805597 0.6435158 0.9629489
Xelaev15000007m 0.4012530 -0.8854113 0.6425895 0.9614517
Run Code Online (Sandbox Code Playgroud)
我有一个数据框,其中包含我想从这个大矩阵中提取的基因对.
V1 V2
1 Xelaev15011657m Xelaev15017932m
2 Xelaev15011587m Xelaev15046612m
3 Xelaev15011594m Xelaev15046616m
4 Xelaev15011597m Xelaev15046617m
5 Xelaev15011603m Xelaev15046624m
6 Xelaev15011654m Xelaev15017928m
Run Code Online (Sandbox Code Playgroud)
我通过数据帧和输出试图环对中的基质细胞matrix["gene1","gene2"](例如,值进行比较时0.1250128 Xelaev15073085m和Xelaev15000002m).在单个基因的基础上这样做很容易,但是我在for循环中为这个列表中的数千对做这个尝试是失败的.在下面的示例中,headinglist是上面数据帧的样本,而FullcorSM是完整的相关矩阵.
for(i in headedlist$V1){
data.frame(i, headedlist[i,2], FullcorSM[i,headedlist[i,2]])
}
Run Code Online (Sandbox Code Playgroud)
以上行是我的第一次尝试并返回null.我的第二次尝试如下所示.
for(i in 1:nrow(stagelist)){
write.table(data.frame(stagelist$V1, stagelist$V2, FullcorSM["stagelist$V1","stagelist$V2"]),
file="sampleout",
sep="\t",quote=F)
}
Run Code Online (Sandbox Code Playgroud)
这会返回一个越界错误.要做第二个没有引号的FullcorSM["stagelist$V1", "stagelist$V2"]部分示例返回第一列的第二列的所有值,更接近我想要的但仍然缺少一些关于R如何解释我的矩阵/数据帧语法的知识,但它我不清楚修复是什么.有关如何进行的任何见解?