2016-02-27 55 views
-6

我们有一个来自制表符分隔文件的数据帧。数据帧NCNT具有第2列和第3列,观察值为A,G,T,C以及表示为'。'的缺失数据。而不是NA。包含'。'的行的子集在数据帧的选定列中作为缺失值而不是NA

我们想使用子集命令来定义一个新的数据框newNCNT,使它只包含具有缺失值''的行。

newNCNT <- NCNT[ NCNT[[2]] == "." & NCNT[[3]] == ".", ] 

为了使用subset功能一个通常会需要知道那些列名:从2列值和3

+5

欢迎来到Stack Overflow!您的问题不包含[可重现的示例](http://stackoverflow.com/q/5963269/4303162)。因此很难理解你的问题并给你一个合适的答案。请提供您的数据(例如使用'dput()')或使用R中的示例数据集之一。另外,添加将您的问题重现到您的文章所需的最小代码。 – Stibu

+0

没有一个可重复的例子,我们所能做的只是猜测 - 例如它可能是'子集(NCNT,rowSums(NCNT [2:3] ==“。”)> 0)' –

+0

非常感谢你使用@docendo discimus。代码工作。 – Ann

回答

1

这应该使用普通的逻辑索引和逻辑操作符提供所需的子集两列。如果有人知道的名字是name1name2那么它可能是:“”

newNCNT <- subset(NCNT, name1 == "." & name2 == ".") 

这将提供行,其中这些列都值。许多人难以正确表达他们想要的逻辑运算,所以如果你想要或者第2列或第3列有一个缺失值,那么你需要|(OR)运算符。 @docendodiscimus显然以为你想要后者。

+0

谢谢@ 42-寻求帮助。 – Ann

相关问题