我是R的新手,正在尝试获取基因表达数据集的方法。这些文件是一个csv文件,有185行(基因名称)和30列(时间点一式三份)。
我使用以下命令导入csv。归档到R
read.csv('〜/ Desktop / WNV Spleen.csv',row.names = 1)
CM1 CM2 CM3 D1M1 D1M2 D1M3 D2M1 D2M2 etc.....
Atf2 3152.9 6178.12 4660.91 6900.13 8172.9 7928.51 6100.99 6438.84
Bcl6 123.64 491.09 52.53 575.6 673.36 415.57 635.76 364.4
etc....
然后我确保将其作为矩阵读取
sp< -as.matrix(read.csv('〜/ Desktop / WNV Spleen.csv',row.names = 1)) is.matrix(SP) [1] TRUE
然后我尝试使用以下命令执行rollapply,该命令执行功能但不执行正确的功能。想要计算每行的平均值。
z<-zoo(sp)
> rollapply(z[,1], width=3, mean, by=3, by.column=TRUE)
2 5 8 11 14 17 20 23 26 29 32 35 38
2939.96000 19679.89333 111739.20333 36303.04667 18477.80333 137.38000 116.77333 295.37000 103.03667 123.64333 96.16667 467.09667 22448.12667
41 44 47 50 53 56 59 62 65 68 71 74 77
7143.83333 9575.48667 549.52333 157.99000 274.76333 329.71667 288.50000 17893.93333 3221.59333 1621.10000 9513.66667 906.71667 54.95333
80 83 86 89 92 95 98 101 104 107 110 113 116
377.80000 61.82333 597.60667 281.63000 941.06333 48.08333 82.42667 61.82000 1298.25333 274.76667 6985.84667 157.98667 838.03000
119 122 125 128 131 134 137 140 143 146 149 152 155
2301.14000 1099.05333 2198.10667 3695.56333 3544.44000 26713.82667 309.10667 899.84667 872.37333 2328.61667 2685.80667 3125.43000 934.19333
158 161 164 167 170 173 176 179 182
4190.13333 6683.60667 762.46667 3049.86667 583.87000 460.23000 590.74000 171.72667 1689.79333
尝试按如下方式重写命令:
> rollapply(z[1,], width=3, mean, by=3, by.row=TRUE)
Error in seq.default(start.at, NROW(data), by = by) :
wrong sign in 'by' argument
> rollapply(z[2, ], width=3, mean, by=3, by.row=TRUE)
Error in seq.default(start.at, NROW(data), by = by) :
wrong sign in 'by' argument
所以没有用。有人能帮我搞清楚我做错了什么???提前谢谢!!!!
何
答案 0 :(得分:0)
sp<-matrix(1:100,10)
rownames(sp)<-sample(LETTERS,10)
sp
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
I 1 11 21 31 41 51 61 71 81 91
M 2 12 22 32 42 52 62 72 82 92
Z 3 13 23 33 43 53 63 73 83 93
F 4 14 24 34 44 54 64 74 84 94
S 5 15 25 35 45 55 65 75 85 95
L 6 16 26 36 46 56 66 76 86 96
B 7 17 27 37 47 57 67 77 87 97
C 8 18 28 38 48 58 68 78 88 98
K 9 19 29 39 49 59 69 79 89 99
J 10 20 30 40 50 60 70 80 90 100
data.frame(gene=rownames(sp),mean=apply(sp,1,mean))
gene mean
I I 46
M M 47
Z Z 48
F F 49
S S 50
L L 51
B B 52
C C 53
K K 54
J J 55