gpt4 book ai didi

将列表中的 NaN 值替换为零 (0)

转载 作者:行者123 更新时间:2023-12-02 01:36:21 26 4
gpt4 key购买 nike

嗨,亲爱的,我有一个 NaN 问题。我正在处理一个包含许多变量的大型数据集,并且它们有 NaN。数据是这样的:

z=list(a=c(1,2,3,NaN,5,8,0,NaN),b=c(NaN,2,3,NaN,5,8,NaN,NaN))

我使用此命令将列表强制到数据框,但我得到了:

z=as.data.frame(z)
> is.list(z)
[1] TRUE

> is.data.frame(z)
[1] TRUE
> replace(z,is.nan(z),0)
Error en is.nan(z) : default method not implemented for type 'list'

我强制 z 到数据框,但这还不够,也许有一种形式可以更改列表中的 NaN 。感谢您的帮助。此数据只是一个示例,我的原始数据有 36000 个观察值和 40 个变量。

最佳答案

这是 rapply 的完美用例。

> rapply( z, f=function(x) ifelse(is.nan(x),0,x), how="replace" )
$a
[1] 1 2 3 0 5 8 0 0

$b
[1] 0 2 3 0 5 8 0 0

lapply 也可以工作,但是 rapply 在这种情况下可以正确处理嵌套列表。

关于将列表中的 NaN 值替换为零 (0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com