rcpp - 在 Rcpp 中的数据框中查找特殊行(Rcpp 中的过滤对应于 R 中的 filter())
问题描述
我是 Rcpp 的新手。假设我们有两个数据帧:edge 和 ref,edge 由三列组成:time、sender、receiver。ref由三列sender、receiver和teller组成。柜员显示从 1 到 nrow(ref) 的行索引。您可以在下面看到一个示例。我想遍历“edge”的每一行并找到“ref”的哪一行与那一行相同。假设您通过 edge 和 ref 发现 ref 中该行的索引为 10。然后我创建一个数据框,例如“dat”,有两列:时间和状态。然后我将 dat$status 中的相应值替换为 1。即dat$status[10]<- 1。我在R中写的代码如下:
cdata <- lapply(2:nrow(edge), function(z) {
welke <- filter(ref, sender == edge[z, "sender"], receiver == edge[z, "receiver"])$teller
dat <- matrix(0, nrow = nrow(ref), ncol = 2) %>%
as.data.frame() %>%
set_colnames(c("time","status"))
dat$status[welke] <- 1
return(dat)
}) %>%
dplyr::bind_rows()
我不知道如何翻译成 Rcpp。
解决方案
推荐阅读
- reactjs - How to use custom hook (fetch) with typescript
- scala - 加入不同维度的数据集——如何正确聚合数据
- sql - SQL Server 触发器 - 将新行插入审计表
- lua - Loadstring 错误:试图调用一个 nil 值
- amazon-web-services - Route 53 和 S3 无法正常工作(转移的域)
- python - 无法在 PySpark 中导入镶木地板数据
- android - 如何使用 React Hooks 使用单个处理函数在 React Native 中处理表单
- python - 如何将带有 .json 扩展名的模型转换为 onnx
- python - 将数组与可变标准差的内核卷积
- python - 如果 B[i, j] == 1,则从 A 生成包含每列 A 行平均值的新矩阵,其中 B 是邻接矩阵