r - 当条件长度大于1时如何在R中编写if else语句
问题描述
我正在尝试在 R 的 for 循环中编写 if else 语句,如果 i == 向量中的任何值范围,则执行此操作,否则,执行其他操作。我知道当 if 语句中的条件的长度大于 1 时,只使用第一个值,但是,我想知道是否有办法解决这个问题,因为我使用的向量非常长(180 个值)并且为向量中的每个条件编写单独的 if 语句会非常混乱。我正在尝试完成的一个示例在下面输入。有没有办法只使用条件中的第一个值?
example<-c(1,2,3,4)
z<-c()
for (i in 1:10)
{
if (i==example) #if i == any of the values in example
{
z<-c(z,0) #add a 0 to the vector z
}else {z<-c(z,1)} #else add a 1
}
#resulting vector should have four zeros and six ones
解决方案
您使用循环使事情变得更加困难:
x <- 1:10
example <- 1:4
(z <- ifelse(x %in% example, 0, 1))
# [1] 0 0 0 0 1 1 1 1 1 1
推荐阅读
- reactjs - 将 url 参数传递给 react-router 的 Link 组件的正确方法是什么?
- reactjs - 部署后 Netlify 上未显示最新更改
- node.js - Nodejs并发请求覆盖变量
- android - 安全异常 App.Utils.getDeviceSerial 错误。如何解决?
- reactjs - 导航时反应本机组件安装问题
- android - android studio 中的倒计时
- java - 将多个 pdf 文件上传到 Firebase 存储 - Android
- javascript - Cryptonoob 尝试在 .NET 上加密并在 Javascript 上解密
- java - 以编程方式更改视图边距
- c# - 如何从字符“/u”之后的字符串中删除所有内容?