首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较不带循环矩阵的阵列

问比较不带循环矩阵的阵列
EN

Stack Overflow用户
提问于 2020-06-07 15:43:55
回答 1查看 134关注 0票数 0

我需要由整数和NA组成的数组Y来比较矩阵,并返回TRUE、FALSE或NA。我在如何写这个方面受到限制--没有循环或者if语句。一定要很简单。问题是,它只比较数组的长度,而不重复矩阵的其余部分;而且,它没有正确地识别假值。

我知道这是我的应用函数,但我不知道如何让apply()自己重复而不需要循环。

代码语言:javascript
复制
answer <- function(x,y){
  y <- as.matrix(y)
  z <- apply(apply(x,2,`==`,y),1,any)
  q <- as.matrix(z)
  print(q)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-07 15:50:26

这取决于你如何看待矩阵,但R是一种向量化的语言,你不需要循环来比较不同大小的元素,但要注意方向和循环

代码语言:javascript
复制
answer <- function(x,y){
  cat('+++++Solution 4+++++\n')
  q <- x == y
  print(q)
}

x <- matrix(c(1,0,1,0,1,1,1,1,0,1,0,1), nrow=4, ncol=4)
y <- c(1, 1, 1, NA)

answer(x,y)

或者一排排的解决方案--非常丑陋的东西

代码语言:javascript
复制
answer <- function(x,y){
  cat('+++++Solution 4+++++\n')
  q <- matrix(apply(t(y),1,`==`,t(x)),nrow = 4,byrow = TRUE)
  print(q)
}

answer(x,y)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62247790

复制
相关文章

相似问题

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