a<-c(AA=4.7,BB=2,CC=7.5)
typeof(a) #double
什麼是對象「a」?這是一個數字矢量,字符串矢量或列表?奇怪的對象 - 矢量還是列表?
class(a)
您使用的是創建一個向量,則代碼class(a)
應該說,一個是向量代碼:
a<-c(AA=4.7,BB=2,CC=7.5)
typeof(a) #double
什麼是對象「a」?這是一個數字矢量,字符串矢量或列表?奇怪的對象 - 矢量還是列表?
class(a)
您使用的是創建一個向量,則代碼class(a)
應該說,一個是向量代碼:
基本上找對象的方式,你有一個名爲向量這仍然是一個數值向量。您不希望數據框的列成爲字符,因爲它的名稱是字符串。這裏同樣發生。
變得清晰起來,只要嘗試
names(a)
unname(a)
您可以使用以下功能檢查課程,模式,類型等。你的情況:
class(a)
[1] "numeric"
mode(a)
[1] "numeric"
typeof(a)
[1] "double"
is.atomic(a)
[1] TRUE
is.list(a)
[1] FALSE
從官方[R幫助頁面:
它是R有兩個名字爲它的浮點 載體,雙和數字(和以前有真正的歷史異常)。
double是類型的名稱。 numeric是隱式類的模式名稱和 。
有關更多信息,請在控制檯中鍵入help("double")
。
我想你很困惑atomic vector
/vector
和lists
。我認爲@nicola正確地指出了評論中的矢量。在我們說矢量時,它實際上意味着它是一個原子矢量還是一個列表。您可以通過檢查它們的3個屬性來確定它們,即類型,長度和屬性。
因此,要檢查對象是否是向量,您必須選中以下內容:is.atomic(x) || is.list(x)
。關閉當然你的情況是真的。這表明它是一個原子類型的向量。
除此之外,原子向量進一步主要分離爲整數,邏輯,雙精度(數字)和字符。
當你要確定具體的類型,如整數,邏輯等使用typeof()
現在有兩個,你可以檢查哪些是class
和mode
其他的東西。
class()
用於識別內容「中輸入」的對象是從視圖面向對象編程的時候,你會在type
倍超發現class
。比如在你的情況下,「a」基本上是類數字下的「double」類型對象。
mode()
從作者的角度給出了對象的「類型」。
現在回答你的問題:
對象「a」是在類數字double類型的。您可以通過在控制檯上運行typeof(a)和class(a)來檢查。
有一個在r和從?storage.mode
文件名爲storage.mode
另一件事:
兩個模式和storage.mode返回一個字符串給對象的 (存儲)模式 - 往往是相同的 - 無論是依託 輸出的typeof(X)的
請閱讀「高級R」從哈德利韋翰,大部分我學到的東西是僅從這本書。鏈接是here。您可能還想尋找R Language Definition。
注意:我希望我有什麼,我要傳達清楚。如果有人在我的理解中發現任何錯誤,請告訴我。但要盡我的理解,我幾乎可以肯定,這是對R.
命名爲載體...嘗試'名(一)'和'unname(一)'。也可以嘗試'setNames(1:5,信件[1:5])'' – Sotos
> is.vector(一) [1] TRUE' –
是由於這的確是一個載體,但爲什麼它是數字載體? – mokebe