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))
当我尝试使用转置将数据转换为数字并将其翻转过来时发生了一些奇怪的事情我有这个
[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))