在这里stackoverflow.com
- 当我提供示例数据来制作可重现的示例时,我该如何以 Julian 的方式做到这一点?
在R
例如dput(df)
将输出一个字符串与您可以创建df
一次。因此,您只需在 stackoverflow 和 bam 上发布结果即可!- 可重复的例子。那么,在 Julia 中应该如何做呢?
我认为通常最简单的方法是在您的示例中简单地构造一个带有随机数等的 MWE DataFrame,因此无需读/写。
在不方便的情况下,您可能会考虑写出到 IO 缓冲区并采用它的字符串表示形式,然后人们可以反过来以相同的方式读回:
julia> using CSV, DataFrames
julia> df = DataFrame(a = rand(5), b = rand(1:10, 5));
julia> io = IOBuffer()
IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=0, maxsize=Inf, ptr=1, mark=-1)
julia> string_representation = String(take!(CSV.write(io, df)))
"a,b\n0.5613453808585873,9\n0.3308122459718885,6\n0.631520224612919,9\n0.3533712075535982,3\n0.35289980394398723,9\n"
julia> CSV.read(IOBuffer(string_representation))
5×2 DataFrame
? Row ? a ? b ?
? ? Float64 ? Int64 ?
??????????????????????????
? 1 ? 0.561345 ? 9 ?
? 2 ? 0.330812 ? 6 ?
? 3 ? 0.63152 ? 9 ?
? 4 ? 0.353371 ? 3 ?
? 5 ? 0.3529 ? 9 ?
Run Code Online (Sandbox Code Playgroud)