热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

根据基数R中另一个向量的值生成重复值的向量

样本数据batch<-c(rep(1,3),rep(2,4),rep(3,5))batch[1]

样本数据

batch <- c(rep(1,3), rep(2,4), rep(3,5))
batch
[1] 1 1 1 2 2 2 2 3 3 3 3 3
alpha <- c(0.05, 0.04, 0.03)

问题陈述

我想创建一个向量,比如说alphaialpha它在batch给定值处重复出现次数的第 i 个元素(例如,对于批次 = 1,应该重复 alpha 的第一个值 1 出现的次数) . 所需的输出应如下所示:

alpha
[1] 0.05 0.05 0.05 0.04 0.04 0.04 0.04 0.03 0.03 0.03 0.03 0.03

请提供仅基于 R 的解决方案,谢谢!

编辑

我希望提供的代码在批处理情况下工作,其中批处理可以是非递增序列或非连续序列(即 1、3、4、5 等)

batch2 <- c(rep(1,3), rep(3, 4), rep(4,5))
batch2
[1] 1 1 1 3 3 3 3 4 4 4 4 4

alpha 应该还是

[1] 0.05 0.05 0.05 0.04 0.04 0.04 0.04 0.03 0.03 0.03 0.03 0.03

回答


该索引可用于复制。在 中R,索引从 1 开始。因此,如果我们指定多个 1,它会多次从第 1 个位置提取 'alpha' 对象中的元素,其他索引类似。请注意,索引 0 将被跳过,因为没有元素

alpha[batch]






推荐阅读
author-avatar
kingseao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有