HOWTO · R

在 R 中查找行号

本教程演示如何在 R 中查找值的行号。

本页内容

which() 方法用于在 R 中查找数据框的值的行号。本教程演示如何使用 which() 方法在 R 中查找行号。

在 R 中查找行号

which() 方法检索 R 中值的行号并返回行号。如果不是这样,则返回整数 0

语法:

which (dataframe$coloumnname == value)

此方法将值作为给定参数,在数据框和列名之间用 $ 符号引用。which() 方法用于检索行号,该行号对应于数据框中特定表达式的 true 条件。

代码示例:

#create a dataframe
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))
print ("The Original DataFrame:")

print(Delftstack)

print("DataFrame Row Number Where Designation value is Senior Dev: ")

# get the row number
which(Delftstack$Designation == "Senior Dev")

上面的代码将从数据框的 Designation 列中找到值 Senior Dev 的行号。

输出:

[1] "The Original DataFrame:"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "DataFrame Row Number Where Designation value is Senior Dev"
[1] 3

我们还可以使用 rownames() 方法为行分配名称。此方法采用等于数据框中行数的向量。

我们可以将此方法传递给 which 方法来查找特定值的行号。

代码示例:

# create a dataframe
DelftstackNew <- data.frame(Column1 = 1:20,
                            Column2 = 20:1,
                            Column3 = 9)
# Get the rows of dataframe
numberofrows <- nrow(DelftstackNew)

rownames(DelftstackNew) <- LETTERS[1:numberofrows]
print ("The Original DataFrame: ")

print(DelftstackNew)

print("DataFrame Row Number Where value is S:")

# get R value in column
which(rownames(DelftstackNew)=="S")

上面的代码将找到值 S 的行号。

输出:

[1] "The Original DataFrame: "
  Column1 Column2 Column3
A       1      20       9
B       2      19       9
C       3      18       9
D       4      17       9
E       5      16       9
F       6      15       9
G       7      14       9
H       8      13       9
I       9      12       9
J      10      11       9
K      11      10       9
L      12       9       9
M      13       8       9
N      14       7       9
O      15       6       9
P      16       5       9
Q      17       4       9
R      18       3       9
S      19       2       9
T      20       1       9
>

[1] "DataFrame Row Number Where value is S:"
[1] 19