gpt4 book ai didi

c++ - Rcpp:使用 Rcpp 数据帧时推荐的代码结构(内联)

转载 作者:太空狗 更新时间:2023-10-29 20:16:03 29 4
gpt4 key购买 nike

[我在别处将其草拟为评论,但决定创建一个适当的问题...]

在 Rcpp 中使用数据帧时,就代码结构而言,目前被认为是“最佳实践”的是什么?从 R 到 C++ 代码的输入数据帧“传输”非常容易,但是如果数据帧有 n 列,当前认为应该将此数据拆分为 n 个单独的( C++) vector 在被使用之前?

对我之前关于在数据框中使用字符串(字符 vector )列的问题的回答告诉我,是的,这是正确的做法。特别是,似乎不支持诸如 df.name[i] 之类的符号来直接引用数据帧信息(就像在 C 结构中可能有的那样),除非我我错了。

然而,这导致我们陷入这样一种情况,即对数据进行子集化要麻烦得多 - 不能在一行中对数据帧进行子集化,而是必须单独处理每个变量。那么,是否认为 Rcpp 中的子集最好通过 bool vector 隐式完成?

总而言之,我想简而言之,我想检查一下我目前的理解,即尽管可以将数据框传送到 C++ 代码,但无法在“df”中直接引用其列的各个元素.name[i]"时尚,并且没有通过选择满足简单条件的行(例如 df.date 在给定范围内)来生成输入 df 的子数据帧的简单方法。

最佳答案

因为数据框实际上在内部表示为 vector 列表,所以通过 vector 访问确实是您能做的最好的事情。根本没有办法在 C 或 C++ 级别逐行子集化。

几周前在 r-devel 上就 data.frame 的转置进行了很好的讨论(出于同样的原因,你不能“便宜地”这样做)。

关于c++ - Rcpp:使用 Rcpp 数据帧时推荐的代码结构(内联),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10911971/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com