在 Julia 的 for 循环中操作多个变量

0 for-loop julia

我是朱莉娅的新手。我想编写代码,对于几个向量中的每一个,输出一个新向量,其名称取决于输入向量的名称。

例如,下面的代码可以工作

a = ones(10) 
b = ones(10) 
for var in [a, b] 
  global log_var = log.(var)
end 
Run Code Online (Sandbox Code Playgroud)

除非我希望将结果向量命名为log_aand log_b(而不是让循环覆盖log_var)。我原以为这很简单,但读了一些关于朱莉娅当地人的教程后,我仍然迷失了!有没有一个简单的方法可以解决这个问题?

如果这个问题不清楚,我将描述如何在我更熟悉的 Stata 中执行此操作:

clear 
set obs 10 
gen a = 1 
gen b = 1 
foreach var in a b {
gen log_`var' = log(`var')
}
Run Code Online (Sandbox Code Playgroud)

谢谢你!

هنر*_*تان 5

如果您正在寻找与您所做的类似的事情stata,您可以使用DataFrames.jl

julia> using DataFrames
julia> df = DataFrame(a=ones(10), b=ones(10))
julia> for col in ["a", "b"]
           df[:, "log_"*col] = log.(df[:, col])
       end
julia> df
Run Code Online (Sandbox Code Playgroud)