【发布时间】:2023-03-28 12:23:01
【问题描述】:
我的数据框中有一列包含日期,因此它是一个日期类。但是,当我尝试从该列中删除 NA 时,我不能,因为它不是字符类。所以我使用这个解决方案将它转换为字符类:
然后我仍然希望我的日期列是一个日期类,所以我使用as.Date 将它转换回来,但它会再次生成 NA。所以我陷入了这个循环。如果需要示例,我将在下次会议后添加。我想将 NA 转换为空白,因为我正在使用 rbind 到另一个没有 NA 的数据帧。
下面是我所指的代码:
> df1
Date File
1 2016-10-20 1
2 2016-10-18 2
3 <NA> 3
> str(df1)
'data.frame': 3 obs. of 2 variables:
$ Date: Date, format: "2016-10-20" "2016-10-18" NA
$ File: chr "1" "2" "3"
> df1 <- sapply(df1, as.character)
> df1[is.na(df1)] <- ""
> df1
Date File
[1,] "2016-10-20" "1"
[2,] "2016-10-18" "2"
[3,] "" "3"
> df1 <- as.data.frame(df1)
> df1$Date <- as.Date(df1$Date, format = "%Y-%m-%d")
> df1
Date File
1 2016-10-20 1
2 2016-10-18 2
3 <NA> 3
所以我只想知道 df1[1,3] 是否可以是 Date 类并且是空白的。
【问题讨论】:
-
拥有 NA 有什么问题?您应该可以
rbind()也可以在数据中使用 NA。 -
我想我可以像你说的那样与 NA 进行 rbind,但我只想保持一致性,因为组合文件已连接到 Tableau,并且有基于该日期字段的计算字段。
-
Date列中不能有空白值。空白是character类。因此,要么将其保留为character列,要么习惯于NAs -
我会习惯 NA 的,谢谢@DavidArenburg
-
NA 是你的朋友。学会爱它:)
标签: r na missing-data rbind as.date