gpt4 book ai didi

r - 如果上面的行在R中没有错误,请运行此行

转载 作者:行者123 更新时间:2023-12-03 08:10:25 25 4
gpt4 key购买 nike

为什么仅在上一行不产生错误时才需要运行一行的示例:考虑以下示例:

在一个好的情况下:

> vec<- c(1,2,3,4) # Have a basic vector index<- which(vec ==1) # index
> whose value is 1 logical<-grepl(index,vec) # logical if found index in
> vector element<-vec[logical] #find element which satisfies logical
> element #1 - good!

但是在另一种情况下:
index<- which(vec ==5) #5 not present in vec
logical<-grepl(index,vec) #produces error: invalid pattern
element<-vec[logical] #but logical is still same as previous assignment
element # still 1 - because logical is retained

我要解决的问题:在创建对象“元素”时,如何确保在第二种情况下不使用对象“逻辑”,因为前一行无效并且产生了错误?提前致谢!

最佳答案

提交前检查索引是否为数字?

logical <- ifelse(length(index) > 0,grepl(index,vec),FALSE)

关于r - 如果上面的行在R中没有错误,请运行此行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54130775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com