r - 尝试选择特殊行时出现奇怪的错误
问题描述
这似乎是一个非常愚蠢的问题,但我找不到解决方案。
我有一个长格式的数据集,其中一列是变量:“var”,它显示了正在查看的变量。我使用以下代码将数据集从宽格式转换为长格式:
data_long = reshape(data_de , varying = c("etc001_correct","etc002_correct","etc003_correct", "etc004_correct", "etc005_correct", "etc006_correct", "inf001_correct", "inf002_correct","inf003_correct","inf004_correct","inf005_correct","inf006_correct","kon001_correct","kon004_correct","mat001_correct","mat003_correct","mat004_correct","mat007_correct","mst002_correct","mst003_correct","mst005_correct","phy001_correct","phy002_correct","phy003_correct","phy004_correct","phy005_correct","phy007_correct","phy008_correct","sta002_correct","sta003_correct","sta005_correct","sta006_correct","sta007_correct","tcm002_correct","tcm003_correct","tcm005_correct","tcm007_correct","thd004_correct","wst004_correct","wst005_correct","wst006_correct","wst007_correct","wst008_correct","che01_correct","phy01_correct","phy03_correct"),
timevar = "Testlet" , v.names = "var_corr" , sep = "." , direction = "long", times=c("etc001", "etc002", "etc003", "etc004", "etc005", "etc006","inf001", "inf002", "inf003","inf004","inf005","inf006","kon001","kon004","mat001","mat003","mat004","mat007","mst002","mst003","mst005","phy001","phy002","phy003","phy004","phy005","phy007","phy008","sta002","sta003","sta005","sta006","sta007","tcm002","tcm003","tcm005","tcm007","thd004","wst004","wst005","wst006","wst007","wst008","che01","phy01","phy03"))
现在我想创建仅包含相应变量的新变量,例如仅包含所有带有 etc 的行,因此:etc001、etc002、etc003、etc004、etc005、etc006
我试着这样做:
etc_c<-data_long[Testlet == "etc",]
Error in var == "etc001" :
comparison (1) is possible only for atomic and list types
所以我这样尝试:
etc_c<-data_long[Testlet == "etc001",]
这行得通,但现在我想添加 etc002,etc003 ......
我可以手动选择行,但我希望可能有一个工作代码可以节省一些时间。
数据集示例:
var_corr id
1.etc001 NA 1
2.etc001 NA 2
3.etc001 NA 3
4.etc001 0.7500000 4
5.etc001 NA 5
6.etc001 NA 6
7.etc001 NA 7
8.etc001 NA 8
9.etc001 NA 9
10.etc001 NA 10
11.etc001 0.8333333 11
12.etc001 NA 12
13.etc001 0.4444444 13
14.etc001 NA 14
15.etc001 0.8333333 15
16.etc001 0.5714286 16
17.etc001 NA 17
18.etc001 0.5833333 18
19.etc001 NA 19
20.etc001 NA 20
21.etc001 NA 21
22.etc001 NA 22
23.etc001 NA 23
24.etc001 NA 24
25.etc001 NA 25
26.etc001 NA 26
27.etc001 NA 27
28.etc001 NA 28
29.etc001 NA 29
30.etc001 NA 30
31.etc001 NA 31
32.etc001 0.9166667 32
33.etc001 0.9166667 33
34.etc001 NA 34
35.etc001 NA 35
36.etc001 NA 36
37.etc001 0.9166667 37
38.etc001 NA 38
39.etc001 NA 39
40.etc001 NA 40
41.etc001 NA 41
42.etc001 0.7500000 42
43.etc001 0.3333333 43
44.etc001 NA 44
45.etc001 0.5000000 45
46.etc001 NA 46
47.etc001 0.5000000 47
48.etc001 NA 48
49.etc001 NA 49
50.etc001 0.7500000 50
51.etc001 0.4166667 51
52.etc001 NA 52
53.etc001 0.5000000 53
54.etc001 0.5000000 54
55.etc001 NA 55
56.etc001 NA 56
57.etc001 0.1666667 57
1.etc002 NA 1
2.etc002 NA 2
3.etc002 NA 3
4.etc002 NA 4
5.etc002 NA 5
6.etc002 0.2500000 6
7.etc002 0.2222222 7
8.etc002 NA 8
9.etc002 NA 9
10.etc002 0.5555556 10
11.etc002 NA 11
12.etc002 0.5000000 12
13.etc002 NA 13
14.etc002 NA 14
15.etc002 0.3333333 15
16.etc002 NA 16
17.etc002 NA 17
18.etc002 0.8888889 18
19.etc002 NA 19
20.etc002 0.2500000 20
21.etc002 0.4444444 21
22.etc002 0.6250000 22
23.etc002 0.4444444 23
24.etc002 NA 24
25.etc002 0.5555556 25
26.etc002 NA 26
27.etc002 0.4444444 27
28.etc002 NA 28
29.etc002 NA 29
30.etc002 NA 30
31.etc002 NA 31
32.etc002 NA 32
33.etc002 NA 33
34.etc002 NA 34
35.etc002 NA 35
36.etc002 NA 36
37.etc002 NA 37
38.etc002 NA 38
39.etc002 0.1111111 39
40.etc002 0.3750000 40
41.etc002 NA 41
42.etc002 NA 42
43.etc002 NA 43
44.etc002 NA 44
45.etc002 NA 45
46.etc002 0.5555556 46
47.etc002 0.5555556 47
48.etc002 NA 48
49.etc002 NA 49
50.etc002 0.5555556 50
51.etc002 0.6666667 51
52.etc002 NA 52
53.etc002 NA 53
54.etc002 NA 54
55.etc002 NA 55
56.etc002 NA 56
57.etc002 NA 57
1.etc003 NA 1
2.etc003 NA 2
3.etc003 NA 3
4.etc003 NA 4
5.etc003 NA 5
6.etc003 NA 6
7.etc003 1.0000000 7
8.etc003 0.6666667 8
9.etc003 NA 9
10.etc003 NA 10
11.etc003 NA 11
12.etc003 NA 12
13.etc003 NA 13
14.etc003 NA 14
15.etc003 NA 15
16.etc003 NA 16
17.etc003 NA 17
18.etc003 NA 18
19.etc003 0.9166667 19
20.etc003 0.9166667 20
21.etc003 NA 21
22.etc003 NA 22
23.etc003 NA 23
24.etc003 NA 24
25.etc003 1.0000000 25
26.etc003 NA 26
27.etc003 NA 27
28.etc003 0.9166667 28
29.etc003 NA 29
30.etc003 NA 30
31.etc003 NA 31
32.etc003 NA 32
33.etc003 NA 33
34.etc003 NA 34
35.etc003 NA 35
36.etc003 NA 36
37.etc003 NA 37
38.etc003 NA 38
39.etc003 NA 39
40.etc003 NA 40
41.etc003 NA 41
42.etc003 0.9166667 42
43.etc003 NA 43
44.etc003 NA 44
45.etc003 NA 45
46.etc003 NA 46
47.etc003 1.0000000 47
48.etc003 0.8333333 48
49.etc003 NA 49
50.etc003 NA 50
51.etc003 NA 51
52.etc003 NA 52
53.etc003 NA 53
54.etc003 NA 54
55.etc003 NA 55
56.etc003 NA 56
57.etc003 NA 57
1.etc004 0.7500000 1
2.etc004 0.6250000 2
3.etc004 NA 3
4.etc004 0.6250000 4
5.etc004 NA 5
6.etc004 NA 6
7.etc004 NA 7
8.etc004 NA 8
9.etc004 NA 9
10.etc004 NA 10
11.etc004 0.7500000 11
12.etc004 0.6250000 12
13.etc004 NA 13
14.etc004 NA 14
15.etc004 NA 15
16.etc004 NA 16
17.etc004 NA 17
18.etc004 NA 18
19.etc004 NA 19
20.etc004 NA 20
21.etc004 0.7500000 21
22.etc004 NA 22
23.etc004 0.3750000 23
24.etc004 NA 24
25.etc004 0.7500000 25
26.etc004 NA 26
27.etc004 NA 27
28.etc004 NA 28
29.etc004 NA 29
30.etc004 NA 30
31.etc004 1.0000000 31
32.etc004 NA 32
33.etc004 NA 33
34.etc004 0.6666667 34
35.etc004 NA 35
36.etc004 NA 36
37.etc004 1.0000000 37
38.etc004 0.5000000 38
39.etc004 NA 39
40.etc004 NA 40
41.etc004 NA 41
42.etc004 NA 42
43.etc004 NA 43
44.etc004 NA 44
45.etc004 0.7500000 45
46.etc004 NA 46
47.etc004 NA 47
48.etc004 NA 48
49.etc004 NA 49
50.etc004 0.8750000 50
51.etc004 NA 51
52.etc004 NA 52
53.etc004 NA 53
54.etc004 0.6250000 54
55.etc004 NA 55
56.etc004 NA 56
57.etc004 0.5000000 57
1.etc005 NA 1
2.etc005 NA 2
3.etc005 NA 3
4.etc005 NA 4
5.etc005 0.5000000 5
6.etc005 NA 6
7.etc005 0.6250000 7
8.etc005 NA 8
9.etc005 NA 9
10.etc005 1.0000000 10
11.etc005 NA 11
12.etc005 NA 12
13.etc005 NA 13
14.etc005 0.5000000 14
15.etc005 NA 15
16.etc005 NA 16
17.etc005 NA 17
18.etc005 NA 18
19.etc005 NA 19
20.etc005 0.7500000 20
21.etc005 NA 21
22.etc005 NA 22
23.etc005 NA 23
24.etc005 NA 24
25.etc005 NA 25
26.etc005 NA 26
27.etc005 NA 27
28.etc005 0.6250000 28
29.etc005 NA 29
30.etc005 0.8750000 30
31.etc005 0.6000000 31
32.etc005 NA 32
33.etc005 0.8750000 33
34.etc005 NA 34
35.etc005 NA 35
36.etc005 NA 36
37.etc005 NA 37
38.etc005 NA 38
39.etc005 NA 39
40.etc005 NA 40
41.etc005 NA 41
42.etc005 NA 42
43.etc005 NA 43
44.etc005 NA 44
45.etc005 NA 45
46.etc005 NA 46
47.etc005 NA 47
48.etc005 0.2500000 48
49.etc005 NA 49
50.etc005 NA 50
51.etc005 NA 51
52.etc005 0.8750000 52
53.etc005 NA 53
54.etc005 0.6250000 54
55.etc005 NA 55
56.etc005 0.3750000 56
57.etc005 NA 57
1.etc006 0.6666667 1
2.etc006 NA 2
3.etc006 0.8333333 3
4.etc006 NA 4
5.etc006 NA 5
6.etc006 NA 6
7.etc006 NA 7
8.etc006 NA 8
9.etc006 NA 9
10.etc006 0.8333333 10
11.etc006 NA 11
12.etc006 NA 12
13.etc006 0.8333333 13
14.etc006 NA 14
15.etc006 0.8333333 15
16.etc006 NA 16
17.etc006 NA 17
18.etc006 NA 18
19.etc006 NA 19
20.etc006 NA 20
21.etc006 NA 21
22.etc006 NA 22
23.etc006 NA 23
24.etc006 NA 24
25.etc006 NA 25
26.etc006 0.8333333 26
27.etc006 NA 27
28.etc006 0.5000000 28
29.etc006 NA 29
30.etc006 NA 30
31.etc006 NA 31
32.etc006 NA 32
33.etc006 0.8333333 33
34.etc006 0.6666667 34
35.etc006 NA 35
36.etc006 NA 36
37.etc006 NA 37
38.etc006 NA 38
39.etc006 0.5000000 39
40.etc006 NA 40
41.etc006 NA 41
42.etc006 NA 42
43.etc006 NA 43
44.etc006 NA 44
45.etc006 0.8333333 45
46.etc006 NA 46
47.etc006 NA 47
48.etc006 NA 48
49.etc006 1.0000000 49
50.etc006 NA 50
51.etc006 NA 51
52.etc006 NA 52
53.etc006 NA 53
54.etc006 NA 54
55.etc006 NA 55
56.etc006 NA 56
57.etc006 NA 57
1.inf001 NA 1
2.inf001 NA 2
3.inf001 NA 3
4.inf001 NA 4
5.inf001 NA 5
6.inf001 NA 6
7.inf001 NA 7
8.inf001 NA 8
9.inf001 NA 9
10.inf001 NA 10
11.inf001 NA 11
12.inf001 NA 12
13.inf001 NA 13
14.inf001 0.2857143 14
15.inf001 NA 15
16.inf001 NA 16
17.inf001 NA 17
18.inf001 NA 18
19.inf001 0.1428571 19
20.inf001 NA 20
21.inf001 NA 21
22.inf001 0.4285714 22
23.inf001 0.5714286 23
24.inf001 NA 24
25.inf001 NA 25
26.inf001 NA 26
27.inf001 0.4285714 27
28.inf001 0.2857143 28
29.inf001 0.7142857 29
30.inf001 NA 30
31.inf001 NA 31
32.inf001 NA 32
33.inf001 NA 33
34.inf001 NA 34
35.inf001 0.7142857 35
36.inf001 0.5714286 36
37.inf001 NA 37
38.inf001 NA 38
39.inf001 NA 39
40.inf001 0.5000000 40
41.inf001 NA 41
42.inf001 NA 42
43.inf001 NA 43
44.inf001 NA 44
45.inf001 NA 45
46.inf001 NA 46
47.inf001 NA 47
48.inf001 NA 48
49.inf001 NA 49
50.inf001 0.4285714 50
51.inf001 0.3333333 51
52.inf001 NA 52
53.inf001 NA 53
54.inf001 NA 54
55.inf001 1.0000000 55
56.inf001 NA 56
57.inf001 NA 57
1.inf002 NA 1
2.inf002 NA 2
3.inf002 NA 3
4.inf002 NA 4
5.inf002 NA 5
6.inf002 NA 6
7.inf002 0.3333333 7
8.inf002 NA 8
9.inf002 NA 9
10.inf002 NA 10
11.inf002 NA 11
12.inf002 NA 12
13.inf002 NA 13
14.inf002 0.5384615 14
15.inf002 NA 15
16.inf002 NA 16
17.inf002 NA 17
18.inf002 NA 18
19.inf002 NA 19
20.inf002 NA 20
21.inf002 0.8461538 21
22.inf002 NA 22
23.inf002 NA 23
24.inf002 NA 24
25.inf002 NA 25
26.inf002 0.9230769 26
27.inf002 NA 27
28.inf002 1.0000000 28
29.inf002 NA 29
30.inf002 NA 30
31.inf002 NA 31
32.inf002 NA 32
33.inf002 NA 33
34.inf002 0.6923077 34
35.inf002 0.7692308 35
36.inf002 NA 36
37.inf002 NA 37
38.inf002 NA 38
39.inf002 0.8461538 39
40.inf002 NA 40
41.inf002 0.6923077 41
42.inf002 0.9230769 42
43.inf002 0.7692308 43
44.inf002 NA 44
45.inf002 NA 45
46.inf002 NA 46
47.inf002 NA 47
48.inf002 NA 48
49.inf002 0.9230769 49
50.inf002 NA 50
51.inf002 NA 51
52.inf002 NA 52
53.inf002 0.8461538 53
54.inf002 NA 54
55.inf002 NA 55
56.inf002 NA 56
57.inf002 0.2307692 57
1.inf003 NA 1
2.inf003 NA 2
3.inf003 NA 3
4.inf003 NA 4
5.inf003 NA 5
6.inf003 0.5000000 6
7.inf003 NA 7
8.inf003 NA 8
9.inf003 0.5000000 9
10.inf003 NA 10
11.inf003 0.6666667 11
12.inf003 NA 12
13.inf003 NA 13
14.inf003 0.5000000 14
15.inf003 NA 15
16.inf003 NA 16
17.inf003 0.6666667 17
18.inf003 NA 18
19.inf003 NA 19
20.inf003 NA 20
21.inf003 NA 21
22.inf003 NA 22
23.inf003 NA 23
24.inf003 NA 24
25.inf003 NA 25
26.inf003 NA 26
27.inf003 0.6666667 27
28.inf003 0.5000000 28
29.inf003 NA 29
30.inf003 NA 30
31.inf003 NA 31
32.inf003 NA 32
33.inf003 0.6666667 33
34.inf003 NA 34
35.inf003 NA 35
36.inf003 0.5000000 36
37.inf003 NA 37
38.inf003 NA 38
39.inf003 0.0000000 39
40.inf003 0.3333333 40
41.inf003 0.3333333 41
42.inf003 1.0000000 42
43.inf003 0.3333333 43
44.inf003 NA 44
谢谢!
解决方案
要在数据中选择以“etc”开头的列,您可以:
library(dplyr) #or tidyverse
your_data %>% select(starts_with('etc'))
在此处查看其他选择助手:
https://www.rdocumentation.org/packages/tidyselect/versions/0.2.5/topics/select_helpers
对于行,过滤器str_detect()
应该可以工作:
my_data %>% filter(str_detect(column_name, 'etc'))
推荐阅读
- java - 为什么我没有在 intellij 的类旁边运行图标?
- azure-api-management - 如何使用 azure api 管理进行自定义访问令牌检查并丰富请求中的数据
- spring-cloud-function - 如何使用消息流测试 Spring Cloud Function
- r - 将功能应用于特定列,同时保留其他列
- java - SimpleDateFormat 显示不一致的结果
- angularjs - Angular 代码在 Visual Studio 中工作,但在 IIS 中不工作
- dictionary - AttributeError:“dict”对象没有属性“append”并且测试失败
- sql-server - SQL Server 数据工具安装在 5 小时后安装 80% 后卡住
- sql - PostgreSQL查询:获取简洁的数字串
- c# - 常规 LINQ 方法链接中间的表达式树;动态和可空类型?