1 回答

TA貢獻1818條經驗 獲得超7個贊
mode storage.mode typeof 是一類,檢查變量類型,如list integer character等
關系是,從前往后,檢查精度越來越細。所以當想看粗類別時,就用mode,看細類別用typeof.
# 此時后兩者都能查到最細的程度
mode(1:5) # numeric
storage.mode(1:5) # integer
typeof(1:5) # integer
# 此時只有typeof能查到最細的程度
mode(`+`) # function
storage.mode(`+`) # function
typeof(`+`) # builtin
# 這里稍微解釋一下,`+`是一個函數
# 下面兩個例子等價
1+2 # 3
`+`(1,2) # 3
class和另外三個不是一個體系
對于有”class”屬性的變量,返回的就是這個屬性對應的值
對于沒有”class”屬性的變量,則根據它的類型、維度來確定
# 有"class"屬性,只認屬性
a <- 1:6
df <-data.frame(a,a+1)
class(df) # data.frame
class(df)<- "abc" # 隨便定義一個值
class(df) # abc
#沒有屬性,根據類型和dim屬性
ar <- array(1:4)
attributes(ar) # 數組dim為4
mat <- matrix(1:4)
attributes(mat) # 矩陣dim為4 1 兩個值
a <- 1:4 # 沒有dim
class(a) # integer
aar <- structure(a,dim=4) # 賦予類似array的dim
class(aar) # array
amat <- structure(a,dim=c(4,1)) # 賦予類似matrix的dim
class(amat) # matrix
class(list(1:4)) # list 不一樣類型
- 1 回答
- 0 關注
- 1194 瀏覽
添加回答
舉報