r - 在不使用循环的情况下创建所需的小标题
问题描述
我在数据中有 n 个分段(0 到 n-1)。我知道每个细分市场中男性的百分比。
如何在不使用循环的情况下编写动态代码来创建分段和男性数组?
例如 -
# datasize = 20, # segmentations = 2
N = 20
percent_each_segmentation = c(0.4, 0.6)
percent_male_per_segmentation = c(0.5, 0.25)
所需的输出看起来像
segmentation <- c(rep(0, 8), rep(1, 12))
# segmentation 0 - 0.4*20, segmentation 1 - 0.6*20
male <- c(rep(1, 4), rep(0, 4), rep(1, 3), rep(0, 9))
# male in segmentation 0 : 0.5*0.4*20, segmentation 1 : 0.25*0.6*20
tbl <- tibble(segmentation, male)
解决方案
我们可以使用rep
as
N <- 20
r1 <- percent_each_segmentation *
percent_male_per_segmentation * N
bnry <- c(1, 0)
r2 <- rep(r1, each = length(bnry))
r2[length(r2)] <- N - sum(head(r2, -1))
rep(rep(bnry, length.out = length(r2)), r2)
对于分割
rep(c(0, 1), N * percent_each_segmentation)
推荐阅读
- ethereum - React,Hardhat前端智能合约方法调用,怎么做?
- javascript - 使用 XMLHttpRequest 传递数据时获取未定义的数组键
- associative-array - 请使用关联数组和可变数组回答此查询
- graphql - AWS Amplify Graphql 用户模型与身份验证?
- javascript - 使用 setTimeout 的操作顺序和点击功能
- discord.js - discord.js 带有页面的图像搜索
- flutter - SpinKitChasingDots 小部件断言 Flutter 错误 !(itemBuilder is IndexedWidgetBuilder && color is Color) && !(itemBuilder == null && color == null)'
- function - 抽象出重复过程的代码
- jquery - jquery文件上传插件中,上传列表有时会翻倍
- windows - 驱动程序在 Windows 上运行在哪个特权级别?