r - 如何在 R 中翻转数值数据?
问题描述
我是一个 R 初学者,但到目前为止,我已经能够通过谷歌搜索找到我的问题的答案。经过几天的搜索,我仍然无法弄清楚这一点。
我有一个包含认知测试结果的数据集。大多数测试都有评分,因此分数越高越好。ONE 测试以相反的方式计分,因此分数越低越好(任务的完成时间)。我想组合三个测试(所以我的数据框中三列的值),但首先我需要翻转这个测试的值。
翻转是指我的最低值(即最快完成时间和最佳分数)反而获得最高值,而最高值(即最慢完成时间和最差分数)获得最低值。我的数据是数字的。
我已经尝试过 dense_rank() 函数以及 rev() 函数。dense_rank() 返回一个向量,其中对值进行了排名,但不保留值的分布,并且 rev() 仅反转向量中值的顺序,它不会更改值本身。
示例代码:
> (.packages())
[1] "readxl" "rethinking" "parallel" "rstan" "StanHeaders" "uwIntroStats"
[7] "ggplot2" "dplyr" "quantreg" "SparseM" "foreign" "aod"
[13] "stats" "graphics" "grDevices" "utils" "datasets" "methods"
[19] "base"
> testresults <- seq(from = 12, to = 120, by = 2)
>
> testresults
[1] 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58
[25] 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106
[49] 108 110 112 114 116 118 120
> test.frame <- data.frame(testresults, rev(testresults), rank(testresults))
> test.frame
testresults rev.testresults. rank.testresults.
1 12 120 1
2 14 118 2
3 16 116 3
4 18 114 4
5 20 112 5
6 22 110 6
7 24 108 7
8 26 106 8
9 28 104 9
10 30 102 10
11 32 100 11
12 34 98 12
13 36 96 13
14 38 94 14
15 40 92 15
16 42 90 16
17 44 88 17
18 46 86 18
19 48 84 19
20 50 82 20
21 52 80 21
22 54 78 22
23 56 76 23
24 58 74 24
25 60 72 25
26 62 70 26
27 64 68 27
28 66 66 28
29 68 64 29
30 70 62 30
31 72 60 31
32 74 58 32
33 76 56 33
34 78 54 34
35 80 52 35
36 82 50 36
37 84 48 37
38 86 46 38
39 88 44 39
40 90 42 40
41 92 40 41
42 94 38 42
43 96 36 43
44 98 34 44
45 100 32 45
46 102 30 46
47 104 28 47
48 106 26 48
49 108 24 49
50 110 22 50
51 112 20 51
52 114 18 52
53 116 16 53
54 118 14 54
55 120 12 55
我确信我忽略了这个问题的简单解决方案,提前感谢任何可以帮助或指出正确方向的人。
最好的,玛丽亚
解决方案
您可以从最大值中减去您的值,然后添加最小值。例如:
x <- seq(1, 5, by = .4)
x
[1] 1.0 1.4 1.8 2.2 2.6 3.0 3.4 3.8 4.2 4.6 5.0
(max(x) - x) + min(x)
[1] 5.0 4.6 4.2 3.8 3.4 3.0 2.6 2.2 1.8 1.4 1.0
推荐阅读
- python-3.x - AttributeError:“NoneType”对象在从表单插入时没有属性
- angular - 无法在与 Angular 中的组件相同的文件夹中显示静态图像
- c# - 删除所有连接的子实体
- javascript - Camera Roll adding borderColor
- r - force the evaluation of .SD in data.table
- ember.js - Ember 服务:每个端口都在使用中
- r - Is parallel processing a solution for RAM shortage in R due to a large dataset?
- python - 如何使用模块 Re 在 python 中调整“时间”
- c# - How to improve my fitness function for real values?
- c# - 如何从字符串中获取所有变量