首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从向量中提取100个部分

从向量中提取100个部分
EN

Stack Overflow用户
提问于 2017-06-26 02:58:05
回答 2查看 49关注 0票数 1

我有一个长度为1000的向量。它包含100名参与者的(数字)调查答案,即每个参与者10个答案。我想为每个参与者去掉前三个值,以创建一个长度为700的新向量(仅包括问题4-10的答案)。

我只知道如何提取向量的每个第n个值,但不知道如何解决上面的问题。

代码语言:javascript
复制
vector <- seq(1,1000,1)

预期输出:

代码语言:javascript
复制
4 5 6 7 8 9 10    14 15 16 17 18 19 20    24 ...
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-26 03:34:37

感谢您提供示例数据,基于这些数据,此线程是可重现的。这里有一个解决方案

代码语言:javascript
复制
c(matrix(vector, 10)[4:10, ])

我们首先将向量转换为一个10行的矩阵,以便每列都属于一个参与者。然后使用行子集删除前三行。最后,矩阵再次被展平为一个向量。

票数 1
EN

Stack Overflow用户

发布于 2017-06-26 03:46:29

一种方法是先使用矩阵进行结构,然后再进行扁平化。另一种有点类似的方法是使用我称之为“逻辑模式索引”的方法:

代码语言:javascript
复制
head(             # just showing the first couple of "segments"
  vector[ c( rep(FALSE, 3), rep(TRUE, 10-3) ) ], 
    15)
 [1]  4  5  6  7  8  9 10 14 15 16 17 18 19 20 24

此方法也可以在双参数版本的[中使用,以使用逻辑模式索引选择行或列。这是因为R循环使用了逻辑索引。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44749548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档