r - 使用给定模式有效地生成 4 列数字
问题描述
我想在 R 中生成一个由 4 列组成的数据框,例如
V1 V2 V3 V4
10 10 9 9
10 10 8 9
10 10 7 9
10 10 6 9
10 10 5 9
9 9 8 8
9 9 7 8
9 9 6 8
9 9 5 8
9 9 4 8
9 9 3 8
8 8 7 7
依此类推,直到 v1 和 v2 比它开始时少 8(或某个整数)。此外,在 v3 比 v1 小 5(或再次,某个任意整数)后, v1 和 v2 减 1。
解决方案
您可以尝试一个tidyverse
首先您必须设置列的起始条件V1
values = 10:8
n=5:7
然后创建其余部分
library(tidyverse)
tibble(V1 = rep(values, n)) %>%
arrange(-V1) %>%
mutate(V2 = V1) %>%
group_by(V1) %>%
mutate(V3 =(max(V2)-1):(max(V2)-n()),
V4 = max(V2)-1) %>%
ungroup()
# A tibble: 18 x 4
V1 V2 V3 V4
<int> <int> <int> <dbl>
1 10 10 9 9
2 10 10 8 9
3 10 10 7 9
4 10 10 6 9
5 10 10 5 9
6 9 9 8 8
7 9 9 7 8
8 9 9 6 8
9 9 9 5 8
10 9 9 4 8
11 9 9 3 8
12 8 8 7 7
13 8 8 6 7
14 8 8 5 7
15 8 8 4 7
16 8 8 3 7
17 8 8 2 7
18 8 8 1 7
推荐阅读
- facebook-graph-api - Facebook Graph Api 发布以提供反馈:“(#100) 参数地点必须是有效的地点标签 ID”
- amazon-web-services - 禁用 Bitnami 横幅后,Apache 未运行,Httpd 无法启动
- javascript - 如何在 JavaScript 中将 ArrayBuffers 与 DataViews 一起使用
- javascript - 无法在 Iframe 沙盒允许脚本下播放 openload 视频
- perl - Perl - 无法打开和读取文件
- ssh - 将 OpenNebula 数据存储从本地 FS 迁移到 NFS 的建议
- jupyter-notebook - 使用pytorch时无法在jupyter笔记本中导入'torchtext'模块
- ios - 应用内购买:产品标识符的排序数组
- android - 平台不支持SSR
- mysql - django.db.utils.OperationalError: (1045, u"Access denied for user 'my_user'@'localhost' (using password: NO)")