现在我有一个名为的向量closest.labels
,其中包含以下数据:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 2 2 2 2 2 2 2 2 2 2
[2,] 0 0 0 0 0 0 0 0 0 0
[3,] 9 9 9 9 9 9 9 7 7 4
我想做的是返回行数据以及该行的索引,其中有两个以上的唯一值。在上面的示例中,这只是第三行。到目前为止,我已经部分成功地使用apply
了我创建的功能。见下文:
colCountFx <- function(col){
result <- subset(list(index=col,count=length(unique(col))),length(unique(col))>2)
return(result)
}
apply(closest.labels,1, colCountFx)
我的问题是,这也会返回前两条记录的空行。输出:
[[1]]
named list()
[[2]]
named list()
[[3]]
[[3]]$index
[1] 9 9 9 9 9 9 9 7 7 4
[[3]]$count
[1] 3
我需要更改什么才能使当前返回的行不返回任何内容named list()
?此外,我对 R 相当陌生,所以如果您认为有更好的方法可以解决这个问题,我也对此持开放态度。