我正在尝试用 NULL
替换 NA
值。原因是,我需要将 numeric
值输入 PostgreSQL 数据库并不断收到错误:ERROR: Invalid input syntax for type numeric ""
。
我尝试将值设置为 NA
、空字符串 ''
和 "NULL"
(作为字符串)。这些都不起作用。
df = data.frame(x=c('a', 'b', 'c', 'd', 'e'), y=c(1, 2, 3, NA, 5))
df[is.na(df)] = "NULL"
df[is.na(df)] = ""
最佳答案
如果您的表使用的是 numeric
,那么将 NA
转换为 NaN
应该可行。 numeric
,以及decimal
和float
支持NaN
(参见Postgres Documentation)。
如果您的数据类型不同,例如integer
,您可以使用nullif
将NaN
强制为NULL
:
nullif(y, 'NaN')
关于R - 用 NULL 替换 NA 以输入到 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900079/