如何从 julia 数据框中获取对行号的引用?

Joh*_*nes 5 dataframe julia

在 Julia 中,数据帧以连续的行号输出。我想访问行号,就好像它是数据框中的 ROWID 一样。我需要这个来计算回归。

现在我用技巧来添加一个额外的列(x1)来模仿rowid:

data = hcat(data, collect(1:size(data,1)));
glm(Column ~ x1, data, Normal(), IdentityLink())
Run Code Online (Sandbox Code Playgroud)

我想直接实现这一点,而不在表中添加额外的 x1 列。我现在使用的 x1 列是一种解决方法。所以我想要实现的是获得添加额外列的第一行。如果未添加 x1 列,则 glm() 函数会崩溃。所以我需要在 glm() 函数中找到 x1 的直接替代品(如果可能的话)。

有没有一种简单的方法可以获取 tableframe 的 rowid?

att*_*ona 3

从 DataFrames v0.22.0 开始rownumber(dfr::DataFrameRow)返回行号。

\n
julia> data = DataFrame(a=4:6, b=7:9)\n3\xc3\x972 DataFrame\n Row \xe2\x94\x82 a      b     \n     \xe2\x94\x82 Int64  Int64 \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n   1 \xe2\x94\x82     4      7\n   2 \xe2\x94\x82     5      8\n   3 \xe2\x94\x82     6      9\n\njulia> rownumber.(eachrow(data))\n3-element Array{Int64,1}:\n 1\n 2\n 3\n
Run Code Online (Sandbox Code Playgroud)\n