首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用唯一时使用忽略NA的r

使用唯一时使用忽略NA的r
EN

Stack Overflow用户
提问于 2014-09-02 21:06:08
回答 2查看 4.6K关注 0票数 1

我试图根据列值中行的相似性查找/丢弃行,并具有以下示例代码:

代码语言:javascript
运行
复制
vec1 <- c("B","D","E","NA")    
vec2 <- c("B","D","E","NA")    
vec3 <- c("B","C","E","NA")    
vec4 <- c("B","D","E","NA")    
vec5 <- c("B","NA","E","E")    
vec6 <- c("B","NA","NA","NA")

mat1 <- cbind(vec1,vec2,vec3,vec4,vec5,vec6)
mat1
     vec1 vec2 vec3 vec4 vec5 vec6
[1,] "B"  "B"  "B"  "B"  "B"  "B" 
[2,] "D"  "D"  "C"  "D"  "NA" "NA"
[3,] "E"  "E"  "E"  "E"  "E"  "NA"
[4,] "NA" "NA" "NA" "NA" "E"  "NA"

rows = apply(mat1, 1, function(i) length(unique(i)) > 1 )
mat2 <- mat1[rows, ]
     vec1 vec2 vec3 vec4 vec5 vec6
[1,] "D"  "D"  "C"  "D"  "NA" "NA"
[2,] "E"  "E"  "E"  "E"  "E"  "NA
[3,] "NA" "NA" "NA" "NA" "E"  "NA"

如何更改上面的代码以实现这一点?在unique的帮助文件中,它暗示有一个incomparables参数,这个参数实现了吗?它可以使用吗?我不一定希望删除NA,只是忽略它们。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-02 21:53:16

来自上面的评论

rows = apply(mat1, 1, function(i) length(unique(i[!(i=="NA")]))>1)

票数 3
EN

Stack Overflow用户

发布于 2014-09-02 21:44:30

您需要正确地输入它们才能使is.na按其应有的方式工作。目前,它们是字符串,NA已经被分类,我们可以为NA_character_分配安全。另外,我推荐一个summary,这里有几个表可以获取所需的信息。

length(unique(...))本质上是一个table

代码语言:javascript
运行
复制
> mat1[is.na(mat1)]  
# character(0)  ## not good 
> mat1[mat1 == "NA"] <- NA_character_
> mat1[is.na(mat1)]  ## notice the difference...
# [1] NA NA NA NA NA NA NA NA

 > summary(mat1)
   vec1     vec2     vec3     vec4     vec5     vec6  
 B   :1   B   :1   B   :1   B   :1   B   :1   B   :1  
 D   :1   D   :1   C   :1   D   :1   E   :2   NA's:3  
 E   :1   E   :1   E   :1   E   :1   NA's:1           
 NA's:1   NA's:1   NA's:1   NA's:1       

> apply(mat1, 2, function(x) length(table(x)))
vec1 vec2 vec3 vec4 vec5 vec6 
   3    3    3    3    2    1 

> as.table(t(mat1))
     A B C D
vec1 B D E  
vec2 B D E  
vec3 B C E  
vec4 B D E  
vec5 B   E E
vec6 B                   
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25632378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档