朱莉娅 1.0.0文档 https://docs.julialang.org/en/v1/manual/noteworthy-differences/#Noteworthy-differences-from-R-1关于 Julia 和 R 中缺失值的说法:
在 Julia 中,缺失值由缺失对象而不是 NA 表示。使用 ismissing(x) 而不是 isna(x)。通常使用skipmissing函数代替na.rm=TRUE(尽管在某些特定情况下函数采用skipmissing参数)。
以下是 R 中的示例代码,我想在 Julia 中复制它:
> v = c(1, 2, NA, 4)
> is.na(v)
[1] FALSE FALSE TRUE FALSE
(首先请注意is.na
是 R 函数的正确拼写,而不是isna
如上面的引用所示,但这不是我的观点。)
如果我按照文档的建议使用ismissing
在 Julia 中,我得到了与 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
这可行,但并不那么简洁is.na
也许我错过了一些东西。
我也尝试过:
julia> ismissing(v[:])
false
julia> ismissing(v[1:end])
false
有什么建议么?