類型轉(zhuǎn)換函數(shù)
1、判斷數(shù)據(jù)類型
is.numeric() ? 是否數(shù)值型數(shù)據(jù)
is.character() ??是否字符型數(shù)據(jù)?
is.vector() ??是否向量數(shù)據(jù)
is.matrix() ??是否矩陣數(shù)據(jù)
is.data.frame() ??是否數(shù)據(jù)框數(shù)據(jù)
is.factor() ? ?是否因子數(shù)據(jù)
is.logical() ??是否邏輯型數(shù)據(jù)
以上為判斷數(shù)據(jù)類型的函數(shù),其返回TRUE或FALSE
2、轉(zhuǎn)換數(shù)據(jù)類型
as.numeric()
as.character()
as.vector()
as.matrix()
as.data.frame()
as.factor()
as.logical()
以上為轉(zhuǎn)換數(shù)據(jù)類型的函數(shù),這樣的函數(shù)則將其參數(shù)轉(zhuǎn)換為對應(yīng)的類型。
代碼清單:轉(zhuǎn)換數(shù)據(jù)類型
> a<-c(1,2,3)
> a
[1] 1 2 3
> is.numeric(a)
[1] TRUE
> is.vector(a)
[1] TRUE
> a<-as.character(a)
> a
[1] "1" "2" "3"
> is.numeric(a)
[1] FALSE
> is.vector(a)
[1] TRUE
> is.character(a)
[1] TRUE
當(dāng)和第五章中討論的控制流(如if-then)結(jié)合使用時,is.datatype()這樣的函數(shù)將成為一類強大的工具,即允許根據(jù)數(shù)據(jù)的具體類型以不同的方式處理數(shù)據(jù)。另外,某些R函數(shù)需要接受某個特定類型(字符型或數(shù)值型,矩陣或數(shù)據(jù)框)的數(shù)據(jù),as.datatype()這類函數(shù)可以讓你在分析之前先行將數(shù)據(jù)轉(zhuǎn)換為要求的格式。