访问数据框和矩阵的一点区别-拾遗
> data[1:3,] ##data[1:3,]与data[1:3]的不同,前者访问前三行,后者访问前三列,等同于data[,1:3] untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 FN1 245667.66 427435.1 221687.51 371144.2 240187.24 DCN 212953.14 360796.2 258977.30 408573.1 210002.18 CEMIP 40996.34 137783.1 53813.92 91066.8 62301.12 trt_N052611 trt_N080611 trt_N061011 FN1 450103.2 280226.2 376518.2 DCN 316009.1 225547.4 393843.7 CEMIP 223111.9 212724.8 157919.5 > class(data) [1] "data.frame" > data[1:3] untrt_N61311 untrt_N052611 untrt_N080611 FN1 245667.6567 427435.0768 221687.5127 DCN 212953.1393 360796.2282 258977.3049 CEMIP 40996.3400 137783.0986 53813.9228 CCDC80 137229.1527 232772.1728 86258.1321 IGFBP5 77812.6548 288609.2030 210628.8654 COL1A1 146450.4130 127367.2520 152281.4983 GREM1 124246.4148 137527.2070 217280.2907 MT.RNR2 63352.8844 116052.8993 177452.3627 FTL 234852.9465 197585.0971 287309.9030 THBS1 37003.7089 51260.1710 34506.8161
......
HSPB1 7049.0643 7810.7409 6203.7621 CTSC 1658.1689 2960.0271 3329.7146 DAAM2 1643.8532 1542.1085 872.5728 [ reached 'max' / getOption("max.print") -- omitted 26853 rows ]
但是对于矩阵
> data_t <- t(data) > class(data_t) ##用t()转换data之后,返回的不是data.frame。。。。没明白 [1] "matrix" "array" > data_t[1:3] ##访问的是第一列的前三个数值,为何? [1] 245667.7 427435.1 221687.5 > data_t[,1:3] ##访问前三列 FN1 DCN CEMIP untrt_N61311 245667.7 212953.1 40996.34 untrt_N052611 427435.1 360796.2 137783.10 untrt_N080611 221687.5 258977.3 53813.92 untrt_N061011 371144.2 408573.1 91066.80 trt_N61311 240187.2 210002.2 62301.12 trt_N052611 450103.2 316009.1 223111.85 trt_N080611 280226.2 225547.4 212724.84 trt_N061011 376518.2 393843.7 157919.47