R.为什么输出数据变成了数据的秩而不是原始数据?



我想把第3列和第8列合并成一列。我的代码中有两个问题。原始数据是这样的。

incidence<-read.csv("incidence.csv",head=F);incidence<-incidence[c(-1,-2),]
incidence[,3]
[1] 15266   1340    14842   7819    130516  8256    No Data No Data 1578    35914   27963  
[12] 3419    2379    No Data 22153   9482    8931    10433   No Data 3401    No Data 14764  
[23] 38551   9166    10448   19225   2071    5667    4934    2572    25518   5409    No Data
[34] 27011   2105    25539   5702    10365   40827   No Data 12829   1339    18739   40457  
[45] 4505    1779    24387   No Data 7586    17666   1629    No Data
46 Levels: 10365 10433 10448 12829 130516 1339 1340 14764 14842 15266 1578 1629 17666 ... Number of New Cases

原始数据如下:

incidence[,8]
[1] 18705   1693    15199   8774    160836  9393    No Data No Data 1578    48646   38417  
[12] 4892    3241    No Data 23053   10599   6728    13365   No Data 3429    No Data 16927  
[23] 45537   12103   10930   19225   1954    5001    5152    2123    28859   6165    No Data
[34] 32294   1928    46637   No Data 11689   48231   No Data 11979   0       23199   50551  
[45] 5541    1917    20037   No Data 9400    20452   1752    No Data
45 Levels: 0 10599 10930 11689 11979 12103 13365 15199 1578 160836 16927 1693 1752 ... Number of New Cases

当我尝试组合这些数据时,我得到了原始数据的排名,似乎我最后得到了2行而不是1列。我不知道为什么。

rbind(incidence[,3],incidence[,8])
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
[1,]   10    7    9   40    5   41   45   45   11    30    27    29    21    45    20    44
[2,]   14   12    8   41   10   42   44   44    9    33    29    34    27    44    23     2
     [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [,31]
[1,]    42     2    45    28    45     8    31    43     3    16    18    37    35    25    23
[2,]    40     7    44    28    44    11    30     6     3    16    18    35    37    22    25
     [,32] [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46]
[1,]    36    45    26    19    24    38     1    33    45     4     6    15    32    34    14
[2,]    39    44    26    17    31    44     4    32    44     5     1    24    36    38    15
     [,47] [,48] [,49] [,50] [,51] [,52]
[1,]    22    45    39    13    12    45
[2,]    20    44    43    21    13    44

R中的缺失数据通过NA值处理。由于调用缺失值NA不是通用的,因此read.table使您有机会通过na.strings参数指定如何指示缺失值。尝试使用:

读取文件
read.csv("incidence.csv",head=F,na.strings="No Data") 

通过这种方式,您感兴趣的列可以正确解析为numeric,并且之后您不会遇到因子/字符/数字转换的问题。

最新更新