r - 选择每第 n 行,偏移开始并重复
问题描述
我正在尝试在 data.frame 中创建一个新列,该列是通过选择从第一行开始的列的第 9 行(即第 1 行、第 9 行、第 17 行)创建的。一旦它到达列的第 n 行,我需要它从第 2 行开始重复此过程(选择第 2 行、第 10 行、第 18 行)。我的行数固定为 96,所以我需要它重复,直到它从第 9 行开始然后退出。
这是我想做的一个例子:
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
家人更熟悉他们。
解决方案
您可以使用 R 的矩阵/向量对偶性轻松地做到这一点......
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
推荐阅读
- javascript - 从 node_modules 导入的 React/Webpack Css 未正确加载
- java - Spring Boot - 在不知道 POST 请求的关键参数的情况下在控制器中获取上传的文件?
- r - 带有嵌套变量的 lme 函数的问题:(any(notIntX <- !apply(X, 2, const))
- matlab - 如何选择将一个参数的值传递给具有多个输入的 MATLAB 函数?
- r - 如何让 Beamer Rmarkdown appendixnumberbeamer 包不计算附录页数?
- javascript - 如何在 TypeScript 中键入 void 函数时的异步函数
- python - 如何计算任何字符串数组出现在 Python 文本中的次数?
- ios - 更新到 iOS 14.1 后,我的应用程序仅在漫长的等待时间后启动(然后显示启动屏幕 - 然后在应用程序运行前暂停)
- powershell - 我想循环这个脚本(Azure-powershell / Powershell)
- struct - 如何从 CGO 返回结构