%in% 突然停止逻辑响应
%in% suddenly stopped logically responding
我有一个全是仿制药的清单,用户输入以检查我的清单中是否存在这种药物(从 Medline 中删除)。该程序检查该药物是否存在于我的列表中。问题是我用以下方法检查了药物的存在:
vast<-user_comp %in% medline_comps[1]
user_comp为用户药品输入,medline_comps药品名称列表
这总是正确的。
并且变量 "vast" 始终为真,因为例如 "Phenylephrine" 存在于 medline_comps 中。问题是我没有更改代码中的任何内容,突然大量开始返回 FALSE,我尝试重新启动 R,从工作区清除每个对象并且没有任何更改 %in%
开始返回 FALSE 而不是 TRUE。我仔细检查了列表中药物的存在性,我什至将药物复制粘贴到列表中并将其放入用户输入中,并且在过去返回 TRUE 时仍然返回 FALSE。
当您未更改代码中的任何内容时,R 会给出不同的结果是否有特殊原因?
我的列表示例是:
medline_comps[1]
[[1]]
[1] "Phenylephrine" "Pyrethrin and Piperonyl Butoxide Topical"
[3] "Antipyrine-Benzocaine Otic" "Hydrocortisone
因此,如果我输入去氧肾上腺素,vast 应该像以前一样肯定是 TRUE,但现在只返回 FALSE,对此有任何合理的解释吗?
尝试user_comp %in% medline_comps[[1]]
(注意双括号)。
你的输出表明这里发生了什么:
medline_comps[1]
# [[1]]
# [1] "Phenylephrine" "Pyrethrin and Piperonyl Butoxide Topical"
# [3] "Antipyrine-Benzocaine Otic" "Hydrocortisone
单括号 returns 一个列表,而您想测试列表中包含的向量中是否存在某个项目,在这种情况下,您将使用双括号。参见例如The difference between [] and [[]] notations for accessing the elements of a list or dataframe.
我有一个全是仿制药的清单,用户输入以检查我的清单中是否存在这种药物(从 Medline 中删除)。该程序检查该药物是否存在于我的列表中。问题是我用以下方法检查了药物的存在:
vast<-user_comp %in% medline_comps[1]
user_comp为用户药品输入,medline_comps药品名称列表 这总是正确的。
并且变量 "vast" 始终为真,因为例如 "Phenylephrine" 存在于 medline_comps 中。问题是我没有更改代码中的任何内容,突然大量开始返回 FALSE,我尝试重新启动 R,从工作区清除每个对象并且没有任何更改 %in%
开始返回 FALSE 而不是 TRUE。我仔细检查了列表中药物的存在性,我什至将药物复制粘贴到列表中并将其放入用户输入中,并且在过去返回 TRUE 时仍然返回 FALSE。
当您未更改代码中的任何内容时,R 会给出不同的结果是否有特殊原因?
我的列表示例是:
medline_comps[1]
[[1]]
[1] "Phenylephrine" "Pyrethrin and Piperonyl Butoxide Topical"
[3] "Antipyrine-Benzocaine Otic" "Hydrocortisone
因此,如果我输入去氧肾上腺素,vast 应该像以前一样肯定是 TRUE,但现在只返回 FALSE,对此有任何合理的解释吗?
尝试user_comp %in% medline_comps[[1]]
(注意双括号)。
你的输出表明这里发生了什么:
medline_comps[1]
# [[1]]
# [1] "Phenylephrine" "Pyrethrin and Piperonyl Butoxide Topical"
# [3] "Antipyrine-Benzocaine Otic" "Hydrocortisone
单括号 returns 一个列表,而您想测试列表中包含的向量中是否存在某个项目,在这种情况下,您将使用双括号。参见例如The difference between [] and [[]] notations for accessing the elements of a list or dataframe.