使用 Julia 1.1,我想基于范围向量创建点网格
\n\n当使用这段代码时,它给了我一个这样的点的列表
\n\nu = [[i j ] for i in -1:0.5:1, j in -1:0.5:1]\n[u...]\nRun Code Online (Sandbox Code Playgroud)\n\n但是,我无法开发一种更通用的方法,在给定范围数组时创建这样的多维点向量
\n\n例如,开发一个 createGrid 函数,它将采用 n 个范围的向量作为参数并输出所有点的列表。
\n\ncreateGrid([1.:0.5:0., 1.:0.5:0., 1.:0.5:0.])\nRun Code Online (Sandbox Code Playgroud)\n\n这将输出:
\n\n27-element Array{Array{Float64,2},1}:\n [-1.0 -1.0 -1.0]\n [-0.5 -1.0 -1.0]\n [0.0 -1.0 -1.0] \n [-1.0 -0.5 -1.0]\n [-0.5 -0.5 -1.0]\n [0.0 -0.5 -1.0] \n [-1.0 0.0 -1.0] \n [-0.5 0.0 -1.0] \n [0.0 0.0 -1.0] \n [-1.0 -1.0 -0.5]\n [-0.5 -1.0 -0.5]\n [0.0 -1.0 -0.5] \n [-1.0 -0.5 -0.5]\n …Run Code Online (Sandbox Code Playgroud) 在 Julia 中使用 DataFrame,我想根据列中的值选择行。
用下面的例子
using DataFrames, DataFramesMeta
DT = DataFrame(ID = [1, 1, 2,2,3,3, 4,4], x1 = rand(8))
Run Code Online (Sandbox Code Playgroud)
我想提取 ID 取值为 1 和 4 的行。目前,我提出了该解决方案。
@where(DT, findall(x -> (x==4 || x==1), DT.ID))
Run Code Online (Sandbox Code Playgroud)
当仅使用两个值时,它是可管理的。
但是,我想让它适用于要选择的 ID 具有多行和大量值的情况。因此,如果我需要写下所有要选择的值,这个解决方案是不切实际的
有什么更好的解决方案可以使这个选择通用?
达米安
我有一个包含 6 列 Z1 到 Z6 的表,我想计算这些列中每一列之间差异的绝对值。
到目前为止,我列举了 mutate 命令的所有差异:
FactArray <- FactArray %>% mutate(diff12 = abs(Z1-Z2),
diff13 = abs(Z1-Z3),
diff14 = abs(Z1-Z4),
diff15 = abs(Z1-Z5),
diff16 = abs(Z1-Z6),
diff23 = abs(Z2-Z3),
diff24 = abs(Z2-Z4),
diff25 = abs(Z2-Z5),
diff26 = abs(Z2-Z6),
diff34 = abs(Z3-Z4),
diff35 = abs(Z3-Z5),
diff36 = abs(Z3-Z6),
diff46 = abs(Z4-Z6),
diff56 = abs(Z5-Z6))
Run Code Online (Sandbox Code Playgroud)
但我意识到这很容易出错,如果我有不同数量的列,则必须重写。
有没有办法“自动”做到这一点?我的意思是,如果我考虑任意数量的列,它会以某种方式自行调整?
最好的事物,
达米安