解析包含'。'的数据来自R中的文本文件

时间:2016-03-15 23:17:35

标签: r

我试图用丢失的数据解析所有行'。'因为我需要丢失的数据信息。我使用以下代码并得到以下错误消息。我能够使用包含4列的更简单的数据文件来使用此代码,其中第二列和第三列是具有A,T,G,C和'。'的列。在细胞中。但是,此相同的代码不适用于此数据集。这可能是由于数据结构的差异,因为当我使用ncol函数时只显示2个变量。输出应该看起来的一小部分在数据文件的片段下面给出。

> test2.txt <- read.table("ref_qry.snps", header=F, sep="\t", skip=5)

> subset(test2.txt, rowSums(test2.txt[1:2] == ".") >0) 

[1] V1 V2
    <0 rows> (or 0-length row.names)
> subset(test2.txt, rowSums(test2.txt[,1] == ".") >0)
    Error in rowSums(test2.txt[, 1] == ".") : 
      'x' must be an array of at least two dimensions


1341   C T   9464894   |        8      373  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1360   C .   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1361   A .   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1362   G .   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1363   A T   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1402   . A   9464835   |        5      432  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1407   A G   9464830   |        4      437  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1


1360   C .   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1361   A .   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1362   G .   9464875   |        1      392  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1
1402   . A   9464835   |        5      432  |  9798893  9465266  |  1 -1  Supercontig_12.1  scaffold_1

1 个答案:

答案 0 :(得分:0)

这是否达到了你想要的效果:

# set any type and any amount of "white space" as separator
x <- read.table("ref_qry.snps", header=F, sep="", skip=5)
#                                         ^^^^^^
# now we have distinct columns that we can check for "."
x[ x[2] == "." | x[3] == ".", ]

只需将数据复制并粘贴到文本文件中即可。