问题描述
由于 sqldf 中的字符不受支持,R 给我一个错误, 例如当我输入以下内容时:
sqldf("select *,case symptom
when 'Bell's palsy' or 'Facial pain' or 'Facial paralysis' then 'neuropathy'
end as Adverse_event from data")
错误是由于贝尔字中的 "'"
。有什么工作可以绕过这个错误吗?并且在数据中正确地捕捉到这种情况。
解决方法
您应该能够将查询中的单引号撇号加倍,例如
sql <- "select *,case symptom
when 'Bell''s palsy' then 'neuropathy'
when 'Facial pain' then 'neuropathy'
when 'Facial paralysis' then 'neuropathy'
end as Adverse_event
from data"
result <- sqldf(sql)
但是,我会在这里使用 WHERE IN (...)
:
sql <- "SELECT *,CASE WHEN symptom IN ('Bell''s palsy','Facial pain','Facial paralysis')
THEN 'neuropathy' END AS Adverse_event
FROM data"
sqldf(data)