小编STA*_*tar的帖子

替换列表中的值

我有一个嵌套列表,看起来像这样:

characlist<-list(list(c(1,2,3,4)),c(1,3,2,NA))
Run Code Online (Sandbox Code Playgroud)

接下来,我想用NA替换所有等于1的值.我尝试了以下,但它产生了一个错误:

lapply(characlist,function(x) ifelse(x==1,NA,x))

Error in ifelse(x == 1, NA, x) : 
  (list) object cannot be coerced to type 'double' 
Run Code Online (Sandbox Code Playgroud)

有人能告诉我代码有什么问题吗?

r

6
推荐指数
1
解决办法
1万
查看次数

删除矩阵中的行

我有一个矩阵,看起来像这样:

have=rbind(matrix(c(1,1,1,1,2,2,2,2,3,3,3,3),ncol=3),c(5,5,5),c(5,5,5),c(5,5,5),c(1,1,1),c(1,1,1))

      [,1] [,2] [,3]
 [1,]    1    2    3
 [2,]    1    2    3
 [3,]    1    2    3
 [4,]    1    2    3
 [5,]    5    5    5
 [6,]    5    5    5
 [7,]    5    5    5
 [8,]    1    1    1
 [9,]    1    1    1
Run Code Online (Sandbox Code Playgroud)

我想删除行,如果他们只出现1或2次.理想情况下,我希望它是用户特定的,因此如果该行仅出现N次或更少,则应删除它.所以,如果N = 2那么它应该删除最后两行,因为它们只出现两次:

want=rbind(matrix(c(1,1,1,1,2,2,2,2,3,3,3,3),ncol=3),c(5,5,5),c(5,5,5),c(5,5,5))

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    2    3
[3,]    1    2    3
[4,]    1    2    3
[5,]    5    5    5
[6,]    5    5    5
[7,]    5    5    5
Run Code Online (Sandbox Code Playgroud)

另一方面,如果N = 3,那么它应该返回:

want_2=rbind(matrix(c(1,1,1,1,2,2,2,2,3,3,3,3),ncol=3)) …
Run Code Online (Sandbox Code Playgroud)

r matrix

3
推荐指数
1
解决办法
105
查看次数

标签 统计

r ×2

matrix ×1