2
Iは、以下の一つとして、データフレームグリッドdf
使用しています:私は発見しようとしていたR:行/ヘッダ名に基づいて、行/列を返すた()を使用する代わり
1 2 3 4 5
1 0 0 0 0 0
2 0 0 0 0 0
3 0 4 0 0 0
4 0 0 0 2 2
を特定の値の位置。これまでのところ、私は以下のコードを使用している:
which(df==2, arr.ind=TRUE)
# row col
#4 4 4
#4 4 5
をしかし、これは「.CSV」ファイル内のセルに対して値の位置を返し、私はセットヘッダと行を無視することが明らかになりました「.csv」ファイルをインポートすると「TRUE」になります。
これまでのところ、行/列の名前が一致しているため、これは問題にはなりませんでした。私は、次の行名/ヘッダを持っている場合しかし、私は最初のグリッドを使用した場合のよう
A B C D E
a 0 0 0 0 0
b 0 0 0 0 0
c 0 4 0 0 0
d 0 0 0 2 2
df <- structure(list(A = c(0L, 0L, 0L, 0L), B = c(0L, 0L, 4L, 0L),
C = c(0L, 0L, 0L, 0L), D = c(0L, 0L, 0L, 2L), E = c(0L, 0L,
0L, 2L)), .Names = c("A", "B", "C", "D", "E"), class = "data.frame",
row.names = c("a", "b", "c", "d"))
結果は同じままであろう。
which(df==2, arr.ind=TRUE)
# row col
#d 4 4
#d 4 5
代わりに、ファイルの行名/ヘッダーを参照する結果が返されますか?私は期待する:
# row col
# d D
# d E
多くのありがとう。