假設我有這個資料框:
> df <- data.frame(a=c(1, 2, 3), b=c(4, 5, 6), c=c(7, 8, 9), row.names=c(100, 200, 300))
> df
a b c
100 1 4 7
200 2 5 8
300 3 6 9
>
我想獲取5此資料框中出現的行名稱和索引名稱。我可以:
> paste("row:", rownames(df)[rowSums(df == 5) > 0], "column:", colnames(df)[colSums(df == 5) > 0], collapse=" ")
[1] "row: 200 column: b"
>
但我認為有更好的方法。
我想要的輸出是:
row: 200 column: b
由于5位于那里。
有一個更好的方法嗎?
uj5u.com熱心網友回復:
您可以使用whichwitharr.ind = TRUE來獲取存在 5 的行號和列號。這可以更改為行和列名稱。
mat <- which(df == 5, arr.ind = TRUE)
paste('row : ', rownames(df)[mat[, 1]], 'column :', colnames(df)[mat[, 2]])
#[1] "row : 200 column : b"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326978.html
