[英]Replace NA with Blank using Sql in R
我正在嘗試使用 R 中的 Sql 將 NA 替換為空白。 我使用了下面的代碼,但我仍然得到“NA”而不是空白!
DF_TEST_PN <- sqldf("Select *, Case when Proj_Loess ='NA' then ' ' else Proj_Loess end as New_Proj_Loess From Test")
您可以在sqldf
/ sqLite
ifnull
test <- tibble(Proj_Loess=c(NA,"test"))
DF_TEST_PN <- sqldf("Select *, ifnull(Proj_Loess,' ') as New_Proj_Loess From test")
Proj_Loess New_Proj_Loess
1 <NA>
2 test test
假設我們有如下所示的 DF。 R 中的 NA 由 SQL 中的 null 表示,因此請使用coalesce
,如下所示。 coalesce
依次查看每個參數並返回不是 null 的第一個參數,即不是 NA。 coalesce
在 sqldf 支持的所有后端(sqlite、h2、mysql、postgresql)中都可用。
library(sqldf)
DF <- data.frame(A = c("A", NA, "B", NA, "C"))
sqldf("select *, coalesce(A, '') as V1 from DF")
給予:
A V1
1 A A
2 <NA>
3 B B
4 <NA>
5 C C
如果您想在問題中使用case when
則使用is null
,如下所示:
sqldf("select *, case when A is null then '' else A end as V1 from DF")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.