gpt4 book ai didi

julia - 使用 JULIA RCall 包将 NA 传递给 R

转载 作者:行者123 更新时间:2023-12-04 04:12:48 24 4
gpt4 key购买 nike

我在将数组中的 NA 传递给 R 以获得 imputeTS 包时遇到了一些问题。

假设我有这个数组:

a = Any[1, 2, 3, NaN, 5]

我想把它传递给这个:

R"""
b <- na_seadec($a, algorithm = "kalman", find_frequency = TRUE, maxgap = Inf)
"""

NaN 不会自动转换为 NA。我怎样才能准确地将 NA 值传递给 RCall?

最佳答案

Julia 中的

NaN 将是 R 中的 NaN。如果你想在 R 中使用 NA,你应该在 Julia 中使用 missing:

julia> x = [1, 2, NaN]
3-element Array{Float64,1}:
1.0
2.0
NaN

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

julia> R"$x"
RObject{RealSxp}
[1] 1 2 NaN


julia> R"$y"
RObject{IntSxp}
[1] 1 2 NA

您可以在 this section 中找到详细信息Julia 手册。

这是一个示例 session :

julia> R"library(imputeTS)"
RObject{StrSxp}
[1] "imputeTS" "stats" "graphics" "grDevices" "utils" "datasets"
[7] "methods" "base"


julia> a = [1,2,3,missing,5]
5-element Array{Union{Missing, Int64},1}:
1
2
3
missing
5

julia> R"""
b <- na_seadec($a, algorithm = "kalman", find_frequency = TRUE, maxgap = Inf)
"""
┌ Warning: RCall.jl: Warning in na_seadec(`#JL`$a, algorithm = "kalman", find_frequency = TRUE, :
│ No seasonality information for dataset could be found, going on without decomposition.
│ Setting find_frequency=TRUE might be an option.
└ @ RCall ~/.julia/packages/RCall/g7dhB/src/io.jl:113
RObject{RealSxp}
[1] 1 2 3 4 5

关于julia - 使用 JULIA RCall 包将 NA 传递给 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61431585/

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