我試圖將我的矩陣切換到特定的行。現在的問題是通過下面的輸出最好的解釋:R哪個語句沒有正確地選擇字符串
Browse[2]> structure[which(structure$atom == "CA"),]
recordName serial atom
1: ATOM 2 CA
2: ATOM 10 CA
3: ATOM 18 CA
4: ATOM 24 CA
5: ATOM 31 CA
---
572: ATOM 4353 CA
573: ATOM 4358 CA
574: ATOM 4368 CA
575: ATOM 4377 CA
576: ATOM 4389 CA
Browse[2]> structure[which(structure$atom == atom),]
recordName serial atom
1: ATOM 1 N
2: ATOM 2 CA
3: ATOM 3 C
4: ATOM 4 O
5: ATOM 5 CB
---
4392: ATOM 4394 ND1
4393: ATOM 4395 CD2
4394: ATOM 4396 CE1
4395: ATOM 4397 NE2
4396: ATOM 4398 OXT
Browse[2]> atom
[1] "CA"
我的問題是,爲什麼當我在原子而不是鍵入CA,我得到一個不同的選擇,以行。如你所見,變量本身等於「CA」。
謝謝你的幫助!
其他變量的樁真的AREN」這個例子是必要的 - 我已經刪除了它們。順便說一句,你的數據是'data.table'還是'data.frame'? – thelatemail
需要注意的是,您不使用data.frame,而是使用data.table。 data.table評估它是data.table本身上下文中的索引。這意味着你可以執行結構[atom ==「CA」],這也意味着如果你有一個名爲'atom'的變量,那麼它與'structure [atom == atom]'相同,因爲它返回所有的行,因爲它首先在表格中找到「原子」符號並使用該值。 – MrFlick
我認爲這是一個'data.table','=='之後的'atom'在表中被評估。 –