gpt4 book ai didi

r - 在 Julia 中更改数据集中的值

转载 作者:行者123 更新时间:2023-12-01 10:21:38 25 4
gpt4 key购买 nike

我正在将 R 中的函数转换为 Julia,但我不知道如何转换以下 R 代码:

x[x==0]=4

基本上,x 包含数字行,但每当有 0 时,我需要将其更改为 4。数据集 x 来自二项式分布。有人可以帮我在 Julia 中定义上面的代码吗?

最佳答案

使用 .== (广播 ==),即:

  • Dot Syntax for Vectorizing Functions


  • 与向量:

    julia> x = round.(Int, rand(5))  # notice how round is also broadcasted here
    5-element Array{Int64,1}:
    0
    0
    1
    0
    1

    julia> x .== 0
    5-element BitArray{1}:
    true
    true
    false
    true
    false

    julia> x[x .== 0] = 4
    4

    julia> x
    5-element Array{Int64,1}:
    4
    4
    1
    4
    1

    使用矩阵:

    julia> y = round.(Int, rand(5, 5))
    h5×5 Array{Int64,2}:
    0 1 1 0 0
    1 0 1 1 1
    0 0 0 0 1
    1 1 0 0 0
    0 1 0 1 1

    julia> y[y .== 0] = 4
    4

    julia> y
    5×5 Array{Int64,2}:
    4 1 1 4 4
    1 4 1 1 1
    4 4 4 4 1
    1 1 4 4 4
    4 1 4 1 1

    使用数据框:

    julia> using DataFrames

    julia> df = DataFrame(x = round.(Int, rand(5)), y = round.(Int, rand(5)))
    5×2 DataFrames.DataFrame
    │ Row │ x │ y │
    ├─────┼───┼───┤
    │ 1 │ 0 │ 0 │
    │ 2 │ 0 │ 1 │
    │ 3 │ 0 │ 0 │
    │ 4 │ 0 │ 1 │
    │ 5 │ 1 │ 0 │

    julia> df[:x][df[:x] .== 0] = 4
    4

    julia> df
    5×2 DataFrames.DataFrame
    │ Row │ x │ y │
    ├─────┼───┼───┤
    │ 1 │ 4 │ 0 │
    │ 2 │ 4 │ 1 │
    │ 3 │ 4 │ 0 │
    │ 4 │ 4 │ 1 │
    │ 5 │ 1 │ 0 │

    关于r - 在 Julia 中更改数据集中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50973668/

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