1 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
用$ 符號訪問對象不是非常的方便,如accountants$statef。一個(gè)非常有用的工
具將會(huì)使列表或者數(shù)據(jù)框的分量可以通過它們的名字直接調(diào)用。而且這種調(diào)用是暫時(shí)
性的,沒有必要每次都顯式的引用列表名字。
函數(shù)attach() 除了可以用目錄路徑作為參數(shù),也可以使用數(shù)據(jù)框。假定數(shù)據(jù)
框lentils 有三個(gè)變量lentils$u, lentils$v, lentils$w,那么
> attach(lentils)
將把數(shù)據(jù)框綁定在搜索路徑的位置2(position 2)上。如果位置1沒有變量u, v 或w,
那么u, v 和w 直接在數(shù)據(jù)框中訪問。因此,下面的命令
> u <- v+w
實(shí)際上沒有替換數(shù)據(jù)框中的變量u,而是被處于搜索路徑位置1工作空間中的變量u 所
屏蔽4。為了真正改變數(shù)據(jù)框中的數(shù)據(jù),最簡單的辦法還是使用$ 符號:
> lentils$u <- v+w
但是新的分量u 是不可見的,直到數(shù)據(jù)框綁定去除和重新綁定。
去除一個(gè)數(shù)據(jù)框的綁定,可以使用
> detach()
確切地說,該命令去掉了搜索路徑中與位置2的綁定。此時(shí),u, v 和w 將不再可
見,但可以用lentils$u 類似的命令來查看這些變量。如果實(shí)體所處的環(huán)境位置值大
于2,則可以通過把位置值直接傳給detach的辦法實(shí)現(xiàn)綁定去除,不過,最為安全的
辦法是直接使用名字指明位置,如detach(lentils) 和detach("lentils")
注意:最新版本的R 里面,列表和數(shù)據(jù)框只能在位置2 或更高的位置層
次綁定。這樣就不可以直接對綁定的列表和數(shù)據(jù)框賦值(因此,在一定程度
上它們是靜態(tài)的)。
其實(shí)這兩個(gè)函數(shù)就是把工作路徑定位在哪里的問題。
- 1 回答
- 0 關(guān)注
- 3693 瀏覽
添加回答
舉報(bào)