我想在我的data.frame中有NULL
值(不是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
我的目标是将我的 data.frame 输出到一个.csv文件中,具有NULL
值的单元格应为空。
您可以使用以下命令获取包含NULL
条目的数据帧:
> data.frame(x = c(1, 2, 3), y = I(list(NULL, NULL, NULL))
解释:
如果要使用 data.frame
包含不断NULL
的列,则需要使用 I
保护它们。
您还必须输入list
而不是NULL
s的c
。那是因为c(NULL, NULL, NULL)
与NULL
相同 - NULL
不能连接。它们也不能是向量的元素,因此包含NULL
值的每一列都需要是列表而不是向量。
使用 write.table
和类似的函数将在充满 NULL
s 的列上调用 as.character
,在空单元格中写入字符串"NULL"。如果您不希望出现这种行为,最好使用空字符串而不是 NULL
s。