首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每隔n行选择一次,偏移起始位置并重复

每隔n行选择一次,偏移起始位置并重复
EN

Stack Overflow用户
提问于 2019-10-18 03:33:04
回答 2查看 1.5K关注 0票数 2

我正在尝试在data.frame中创建一个新列,该列是通过选择从第一行开始的列的第9行(即第1行、第9行、第17行)创建的。一旦它到达列的第n行,我需要它从第2行开始重复这个过程(选择第2行,第10行,第18行)。我有一个固定的行数为96,所以我需要重复它,直到它从第9行开始,然后退出。

下面是我想做的一个例子:

代码语言:javascript
运行
复制
df <- data.frame(Row=1:96)
> df$nineth <- c(1,9,17,25,33,41,49,57,65,73,81,89,2,10,18,26,34,42,50,58,66,74,82,90)
> print(df)
   Row nineth
1    1      1
2    2      9
3    3     17
4    4     25
5    5     33
6    6     41
7    7     49
8    8     57
9    9     65
10  10     73
11  11     81
12  12     89
13  13      2
14  14     10
15  15     18
16  16     26
17  17     34
18  18     42
19  19     50
20  20     58
21  21     66
22  22     74
23  23     82
24  24     90

有没有办法使用for循环来做到这一点?我对他们比apply家族更熟悉。

EN

Stack Overflow用户

回答已采纳

发布于 2019-10-18 03:52:26

您可以使用R的矩阵/向量对偶来轻松地完成此操作。

代码语言:javascript
运行
复制
df <- data.frame(Row=1:96)

df$nineth <- as.vector(matrix(df$Row, byrow = TRUE, ncol = 8))

head(df,15)
   Row nineth
1    1      1
2    2      9
3    3     17
4    4     25
5    5     33
6    6     41
7    7     49
8    8     57
9    9     65
10  10     73
11  11     81
12  12     89
13  13      2
14  14     10
15  15     18
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58439589

复制
相关文章

相似问题

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