根据条件查找 R 数据框中的列名和行名。
要根据条件在 R 数据框中查找列名和行名,我们可以使用row.names和 colnames 函数。我们要查找行名称和列名称的条件可以在这些函数中定义,如下面的示例所示。
示例 1
以下代码段创建了一个示例数据框 -
x1<-rpois(20,1)x2<-rpois(20,8)
x3<-rpois(20,20)
df1<-data.frame(x1,x2,x3)
df1
创建了以下数据框
x1 x2 x31 1 11 15
2 3 6 15
3 0 9 18
4 2 10 26
5 1 9 17
6 1 7 23
7 0 11 21
8 2 11 23
9 1 6 22
10 2 6 28
11 2 7 22
12 0 8 16
13 1 7 28
14 1 7 25
15 0 6 14
16 0 10 23
17 0 12 16
18 0 8 23
19 2 8 17
20 2 8 21
要在上面创建的数据框中查找哪些行的值为 17,请将以下代码添加到上面的代码段中 -
x1<-rpois(20,1)输出结果x2<-rpois(20,8)
x3<-rpois(20,20)
df1<-data.frame(x1,x2,x3)
row.names(df1[which(df1==17,arr.ind=T)[,1],] )
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] "5" "19"
要在上面创建的数据框中查找哪些列的值为 17,请将以下代码添加到上面的代码段中 -
x1<-rpois(20,1)输出结果x2<-rpois(20,8)
x3<-rpois(20,20)
df1<-data.frame(x1,x2,x3)
colnames(df1)[apply(df1, 2, function(x) any(x==17))]
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] "x3"
示例 2
以下代码段创建了一个示例数据框 -
y1<-sample(1:100,20)y2<-sample(1:100,20)
y3<-sample(1:100,20)
df2<-data.frame(y1,y2,y3)
df2
创建了以下数据框
y1 y2 y31 75 52 32
2 37 5 46
3 43 31 60
4 100 30 11
5 28 18 79
6 31 80 53
7 8 85 49
8 62 38 56
9 48 82 15
10 97 48 69
11 69 25 40
12 12 92 21
13 77 55 26
14 39 95 63
15 82 61 75
16 98 40 14
17 61 78 22
18 93 63 58
19 10 21 17
20 2 68 83
要在上面创建的数据框中查找哪些行的值为 92,请将以下代码添加到上面的代码段中 -
y1<-sample(1:100,20)输出结果y2<-sample(1:100,20)
y3<-sample(1:100,20)
df2<-data.frame(y1,y2,y3)
row.names(df2[which(df2==92,arr.ind=T)[,1],] )
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] "12"
要在上面创建的数据框中查找哪些列的值为 92,请将以下代码添加到上面的代码段中 -
y1<-sample(1:100,20)输出结果y2<-sample(1:100,20)
y3<-sample(1:100,20)
df2<-data.frame(y1,y2,y3)
colnames(df2)[apply(df2, 2, function(x) any(x==92))]
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] "y2"
以上是 根据条件查找 R 数据框中的列名和行名。 的全部内容, 来源链接: utcz.com/z/353539.html