R:创建具有 NULL 值的 data.frame

Adr*_*ian 4 null r

我想NULL在我的 data.frame 中包含值(而不是NA)。而以下似乎不起作用。

> data.frame(x = c(1, 2, 3), y = c(NULL, NULL, NULL))
Error in data.frame(x = c(1, 2, 3), y = c(NULL, NULL, NULL)) : 
  arguments imply differing number of rows: 3, 0
Run Code Online (Sandbox Code Playgroud)

我的目标是将 data.frame 输出到 .csv 文件中,并且包含NULL值的单元格应该为空白。

小智 7

您可以使用以下方法获取包含条目的数据框NULL

> data.frame(x = c(1, 2, 3), y = I(list(NULL, NULL, NULL))


解释:

如果您想使用data.frame包含经常出现的列NULL,则需要使用 来保护它们I

您还必须输入 alist而不是 a cof NULLs。这是因为c(NULL, NULL, NULL)is 等同于NULL-- NULLs 不能连接。它们也不能是向量的元素,因此包含NULL值的每一列都需要是列表而不是向量。

使用write.table和 类似的函数将调用as.character充满 s 的列NULL,在空单元格中写入字符串“NULL”。如果您不希望出现这种行为,最好使用空字符串而不是NULLs。