R向量不能保存空值是真的吗?

R向量不能保存空值是真的吗?,r,R,在准备将数据帧上载到postgres中时,我想将所有空格(即“”)和NA值替换为NULL。原因是,postgres将拒绝所有为空或NA的整型变量观测值。读完这篇文章后,我现在的印象是R向量不能为空。如果这是真的,那么我就不能将下面数据框中的空白值和NA值转换为NULL。我理解正确吗 #Create data frame sex = c(NA, 1, 0, "") age = c(23, 40, 16, NA) weight = c(156, 134, "", 190) df = data.f

在准备将数据帧上载到postgres中时,我想将所有空格(即“”)和NA值替换为NULL。原因是,postgres将拒绝所有为空或NA的整型变量观测值。读完这篇文章后,我现在的印象是R向量不能为空。如果这是真的,那么我就不能将下面数据框中的空白值和NA值转换为NULL。我理解正确吗

#Create data frame
sex = c(NA, 1, 0, "") 
age = c(23, 40, 16, NA) 
weight = c(156, 134, "", 190)
df = data.frame(sex,age,weight)

然而,R当然可以保存
NULL
值。。。在
列表中
s:

list(a = NULL, b = 2, c = NULL)
#> $a
#> NULL
#> 
#> $b
#> [1] 2
#> 
#> $c
#> NULL
但不是在向量中s.

然而,R当然可以保存
NULL
值。。。在
列表中
s:

list(a = NULL, b = 2, c = NULL)
#> $a
#> NULL
#> 
#> $b
#> [1] 2
#> 
#> $c
#> NULL

但不是在
vector
s中。

SQL空值映射到R中的NA。Postgres拒绝NAs可能是因为您的表定义不允许在这些列中使用空值。修复表定义,问题就会消失。在原子向量中,NULL被删除。数据帧是原子向量的列表(通常)。因此,在数据帧中也不允许使用空值。另外,请注意,向量包含单一类型的值--如果您将
用作元素,则所有元素都将是
字符类型
。这是我的想法,感谢您的反馈。我在标题中添加了
vectors
,因为R肯定可以保存
NULL
值。。。在列表中:
list(a=NULL,b=2,c=NULL)
但不在向量中。SQL NULL值映射到R中的NA。Postgres拒绝NAs可能是因为您的表定义不允许在这些列中使用NULL。修复表定义,问题就会消失。在原子向量中,NULL被删除。数据帧是原子向量的列表(通常)。因此,在数据帧中也不允许使用空值。另外,请注意,向量包含单一类型的值--如果您将
用作元素,则所有元素都将是
字符类型
。这是我的想法,感谢您的反馈。我在标题中添加了
vectors
,因为R肯定可以保存
NULL
值。。。在列表中:
列表(a=NULL,b=2,c=NULL)
但不在向量中。