在 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?
从 DataFrames v0.22.0 开始rownumber(dfr::DataFrameRow)返回行号。
\njulia> 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\nRun Code Online (Sandbox Code Playgroud)\n