我從別處得到了這段代碼,我想知道是否有人可以解釋方括號在做什么。
matrix1[i,] <- df[[1]][]
我正在使用它為矩陣分配值并且它有效,但我不確定它到底在做什么。[[]] 的初始集合是什么意思,然后是另一個 []?
提前謝謝你,德拉什蒂
uj5u.com熱心網友回復:
這可能會幫助你理解一點。您可以復制并粘貼此代碼,并查看使用 [] 和 $ 進行索引的不同方式之間的差異。我唯一無法為您回答的是第二組空方括號,根據我的理解,除非值在這些方括號內,否則它什么都不做。
#Retreives the first column as a data frame
mtcars[1]
#Retrieves the first column values only (three different methods of doing the same thing)
mtcars[,1]
mtcars[[1]]
mtcars$mpg
#Retrieves the first row as a data frame
mtcars[1,]
#I can use a second set of brackets to get the 4th value within the first column
mtcars[[1]][4]
mtcars$mpg[4]
uj5u.com熱心網友回復:
的一般功能[是子集化,這在幫助(如評論中建議)和這篇文章中都有很好的記錄。我的其余答案很大程度上基于該來源。
實際上,R 中有用于子集化的運算子;[[、[、 和$。的[和$是用于回傳的索引,并命名為位置,尊稱,例如矢量的前三個元素是有用a = 1:10可以與子集a[c(1,2,3)]。您還可以使用否定子集來洗掉元素,就像a[-1]洗掉第一個索引一樣。
該$運算子的不同之處在于它僅將元素名稱作為輸入,例如,如果您df是一個帶有 column 的資料框values,df$values則會對該列進行子集化。您可以實作相同的效果[,但只能使用帶引號的名稱,例如df["values"].
更具體地回答,有什么作用df[[1]][]?首先,[[-operator 將從 回傳第一個元素df,接下來的空[-operator 將從該輸出中提取所有內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/380642.html
標籤:r
上一篇:Group_byid并計算連續的NA,然后在遇到新的NA序列時重新開始計數
下一篇:合并具有多個分隔符的列
