如何解决如何将for循环结果与R关联为向量
第一次来这里呵呵。我知道我的问题可能是一个愚蠢的问题,但找不到我所调查的其他问题的答案。
我正在尝试将表示频段首选项的字符串矢量(来自较大的数据帧)转换为“ 1”和“ 0”,对于特定频段为1,对于所有其他频段为0。但是,当我使用print()而不分配结果时,我的代码工作正常。当我尝试使用return()或另一种分配模式时,它带有错误或仅一个值。这是我的代码:
for(x in ){
if('Pb&C' %in% x){
print(1)} else{
print(0)}
}
}
如何将结果转换为矢量?
我已经尝试过这些,但是都出现错误:
for (x in rejeicao) {
if ('Pb&C' %in% x) {
a <- return(1)
} else{
a <- return(0)
}
}
a
还有:
for (x in rejeicao) {
if ('Pb&C' %in% x) {
a[x,] <- return(1)
} else{
a[x,] <- return(0)
}
}
非常感谢
解决方法
R是向量化语言,因此您只需要将测试结果分配给所需的变量。
此代码将得出TRUE / FALSE值。
a <- rejeicao == 'Pb&C'
要转换为0/1,我们使用以下事实:在数学表达式中使用时TRUE变为1,而FALSE变为0。
a <- (rejeicao == 'Pb&C')*1
您将要了解有关尝试使用的其他关键字的更多信息,即%in%
和return
,因为我认为它们并没有像您想的那样工作。但是StackOverflow是一个问题/答案站点,在这里重要的是要提出特定的问题并专门回答这些问题,而不是邮件列表,因此这些详细信息不适合在此处包含。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。