gpt4 book ai didi

r - 像 R 的 is.na 函数一样在 Julia 中查找缺失值

转载 作者:行者123 更新时间:2023-12-02 09:10:52 28 4
gpt4 key购买 nike

Julia 1.0.0 documentation说到 Julia 和 R 中的缺失值:

In Julia, missing values are represented by the missing object rather than by NA. Use ismissing(x) instead of isna(x). The skipmissing function is generally used instead of na.rm=TRUE (though in some particular cases functions take a skipmissing argument).

这是我想在 Julia 中复制的 R 示例代码:

> v = c(1, 2, NA, 4)
> is.na(v)
[1] FALSE FALSE TRUE FALSE

(首先请注意,is.na 是 R 函数的正确拼写,而不是上面引用中显示的 isna,但这不是我的意思。)

如果我按照文档的建议在 Julia 中使用 ismissing,我会得到与在 R 中不同类型的结果。

julia> v = [1, 2, missing, 4]
4-element Array{Union{Missing, Int64},1}:
1
2
missing
4

# Note that based on R, I was expecting: `false false true false`
# though obviously in a different output format.
julia> ismissing(v)
false

要复制 R 代码,我似乎必须做类似的事情:

julia> [ismissing(x) for x in v]
4-element Array{Bool,1}:
false
false
true
false

这行得通,但它不像 R 中的 is.na 那样简洁。也许我遗漏了什么。

我也试过:

julia> ismissing(v[:])
false

julia> ismissing(v[1:end])
false

有什么建议吗?

最佳答案

您可以使用 广播 ismissing:

julia> v = [1, 2, missing, 4]
4-element Array{Union{Missing, Int64},1}:
1
2
missing
4

julia> ismissing.(v)
4-element BitArray{1}:
false
false
true
false

关于r - 像 R 的 is.na 函数一样在 Julia 中查找缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52357942/

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