【问题标题】:unable to view data in data frame after removing NA values删除 NA 值后无法查看数据框中的数据
【发布时间】:2018-08-26 23:13:07
【问题描述】:

我有两个时间和时间的数据帧,大约有 240 列和 4100 行。 两个数据帧中都有很多 NA 值,我需要删除这些值,然后从超时时间中减去。 我在下面给出了这个命令来删除所有的 NA 值 out_time1

然后,当我给出 view(out_time) 时,我的数据框中只得到头行。我现在无法查看任何数据。为什么会这样? in_time 数据帧也会发生同样的事情。

  1. 请帮我从这两个数据框中删除 NA 值。

问候,

帕万。

【问题讨论】:

  • na.omit 将删除任何列中包含NA 的所有行。也许没有NA 就没有行。也许您只想从特定列中删除NAs?
  • 您是否在处理日期数据,这就是您包含日期标签的原因?在这种情况下,我认为日期没有什么特别的,它们就像其他变量一样工作。
  • 如果您的问题已被回答,您能否将问题标记为已回答?

标签: r date na


【解决方案1】:

很可能每行至少有 1 列有 NA,导致没有数据返回。如果您使用complete.cases(),您可以看到逐行的 NA 检查。

# Example Data
test <- diag(rep(NA,4))
test[1,1] <- 0
test
#     [,1] [,2] [,3] [,4]
#[1,]    0    0    0    0
#[2,]    0   NA    0    0
#[3,]    0    0   NA    0
#[4,]    0    0    0   NA

complete.cases(test)
#[1]  TRUE FALSE FALSE FALSE

如果 sum(complete.cases(test)) 至少不等于 1,那么您没有不存在 NA 数据的行。您应该彻底调查您的 NA 数据。

您可以使用table(is.na(test))rowSums(is.na(test))colSums(is.na(test))

【讨论】:

  • 在处理特定变量时,根据需要使用 rm.na=TRUE 是否有意义也值得考虑。
【解决方案2】:

如果您的意思是 View(out_time) 只提供列标题而没有其他内容,那是因为数据框中没有数据,只留下标题。

基本上,您删除了数据框中的所有内容,因为na.omit(out_time) 删除了所有存在单个NA 的行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 2022-09-22
    • 2011-02-08
    相关资源
    最近更新 更多