【问题标题】:How to remove NaN in large list如何在大列表中删除 NaN
【发布时间】:2017-10-29 02:49:44
【问题描述】:

我正在尝试在一个非常大的列表中删除我的 NaNs。 使用

删除 NAs 非常简单
My.List[!is.na(My.List)]

但是使用

My.List[!is.nan(My.List)]

不是列表的实现方法(R-Error)。

你能帮帮我吗?谢谢!

【问题讨论】:

  • 您能否在您的问题中添加一个 My.List 的小示例,因为 is.na 方法可能就足够了。例如/My.List = as.list(c(NaN, NA, 1:3))My.List[!is.na(My.List)] 删除了 na 和 nan。但是要删除 nan 你可以试试My.List[!sapply(My.List, is.nan)]

标签: r list nan


【解决方案1】:

您可以使用sapply 找到NaNs

> x <- list(1, NaN, 3)
> 
> x[!sapply(x, is.nan)]
[[1]]
[1] 1

[[2]]
[1] 3

【讨论】:

  • 你使用的是什么版本的 R?
  • 我正在使用 R/3.2.2 (2015-08-14) - 这是因为大学服务器。
  • 你的列表有哪些元素——你有嵌套列表吗?我认为您需要将(某些)列表编辑到您的问题中 - 使用 `dput(mylist)' - 使您的问题可重现
【解决方案2】:

试试

 MyList <- na.omit(My.List)

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 2018-09-23
    • 2021-02-19
    • 2018-01-23
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多