R 中的转置会导致无法解释的数据更改

Transpose in R causes unexplained alteration in data

当我尝试使用转置将数据转换为数字并将其翻转过来时发生了一些奇怪的事情我有这个

[1] "arrayCounts"
           X1          X2          X3
14017 37.30624846 37.14246994 39.62996365
13836 46.39603654 73.27708815 60.17984504
8102  75.49637073 79.98173028 88.00316161
5815  64.62036708  79.2774437 90.14150139
6373  28.53677183 26.48477258 29.57121062
9391  84.41824647 61.30843473 110.2114409
12530 168.2228787 94.38235321 126.0508494
12533  113.981605 45.59929549 49.98530604
14029 43.42824393 27.25617411 42.09054829
7991  44.10151669 60.01792031 51.05999289
13203  166.221478 133.6683238 173.5101449
7430  84.34922994 122.7342323 91.64309687
6920  20.38263051 20.76623504 22.42405346
6921  56.70518524 60.26761724 53.55960352

但是当我使用

arrayCountsTransposed<-t(sapply(arrayCounts, as.numeric))

莫名其妙变成了这个

[1] "arrayCountsTransposed"
[,1]  [,2]  [,3]  [,4]  [,5]  [,6]  [,7]  [,8]  [,9] [,10] [,11] [,12] [,13] [,14]
X1 12093 14213 18769 17378  9383 19835  4348  1046 13617 13787  4261 19830  6059 16132
X2 12250 18773 19547 19472  8681 17116 20957 14254  9026 16920  2273  1595  6206 16944
X3 12980 17018 20414 20613 10030   825  1954 15196 13620 15460  4994 20737  7296 15914

有人知道会发生什么吗?

str(arrayCounts)

'data.frame':   14 obs. of  3 variables:
 $ X1: Factor w/ 21232 levels "100.0231948",..: 12093 14213 18769 17378 9383     19835 4348 1046 13617 13787 ...
 $ X2: Factor w/ 21438 levels "100.0109889",..: 12250 18773 19547 19472 8681     17116 20957 14254 9026 16920 ...
 $ X3: Factor w/ 21472 levels "100.0197774",..: 12980 17018 20414 20613     10030 825 1954 15196 13620 15460 ...

试试这个:

arrayCountsTransposed <- t(apply(arrayCounts, 2, as.numeric))