julia - 如何在Julia中创建一定长度的缺失值向量?
问题描述
在R
我可以创建一个包含所有NA_real_
值的向量长度 5:
x <- 1:5
length(x)
## [1] 5
rep(NA_real_, times = length(x))
## [1] NA NA NA NA NA
我怎样才能做到这一点julia
?我可以创建一个包含零的向量,但我不知道如何在其中输入缺失值:
v = Vector{Float64}(undef, 5)
## 5-element Array{Float64,1}:
0.0
0.0
0.0
0.0
0.0
解决方案
Julia 中的缺失值称为missing
. 它是一个单例类型Missing
。您可以像这样创建缺失值的向量:
v = Vector{Missing}(undef, 5)
# 5-element Array{Missing,1}:
# missing
# missing
# missing
# missing
# missing
或者,更方便地使用fill
:
v = fill(missing, 5)
但是请注意,与 R 不同的是,Missing
它不与其他数字类型共享一个类型:它是它自己的类型。请注意当您尝试将 aFloat64
放入 s 的向量时会发生什么Missing
:
v = fill(missing, 5)
# 5-element Array{Missing,1}:
# missing
# missing
# missing
# missing
# missing
v[1] = 3.14
# ERROR: MethodError: convert(::Type{Union{}}, ::Float64) is ambiguous.
这意味着如果你想创建一个只包含缺失值的向量,但你希望它也能够包含一个像 a 这样的数值Float64
,你应该明确:
v = convert(Array{Union{Float64,Missing}}, v)
# 5-element Array{Union{Missing, Float64},1}:
# missing
# missing
# missing
# missing
# missing
v[1] = 3.14;
v
# 5-element Array{Union{Missing, Float64},1}:
# 3.14
# missing
# missing
# missing
# missing
推荐阅读
- web - 如果在 odoo 电子商务网站中选择了特定的运输方式,则隐藏付款方式
- python - mariadb 中的 Python 更新查询
- marketo - API 中缺少 Marketo 高水位线和字段定义元数据
- r - 具有不等子组的ggplot
- javascript - 如何克隆 NodeJS 流?
- apache-superset - 如何通过apache超集中的rest api创建虚拟数据集和图表?
- kubernetes - Kubernetes 中的 Pod 不稳定 - 有时可用,有时不可用(一直在切换工作节点)
- dart - 查询缓存类的 TimeoutException
- java - 在 RxJava Android 中组合动态 API 请求
- python - Python:从 csv 计算