首发于 R语言入门
​ R语言将dataframe的数据列从字符串类型转换为因子类型(from character vector to factor vector)

​ R语言将dataframe的数据列从字符串类型转换为因子类型(from character vector to factor vector)

R语言将dataframe的数据列从字符串类型转换为因子类型(from character vector to factor vector)


R语言数据类型查看、数据类型转换

R语言可以使用is.datatype()语法查看数据对象的数据类型;如果是某种类型则返回TRUE、如果不是则返回FALSE;

R语言使用as.datatype()语法将数据对象从一种数据类型转化为另外一种数据类型;

常用类型查看及类型转换函数如下:

is.numeric(), is.character(), is.vector(), is.matrix(), is.data.frame()
as.numeric(), as.character(), as.vector(), as.matrix(), as.data.frame)

to one long
vector
to
matrix
to
data frame
from
vector
c(x,y) cbind(x,y)
rbind(x,y)
data.frame(x,y)
from
matrix
as.vector(mymatrix) as.data.frame(mymatrix)
from
data frame
as.matrix(myframe)


​编辑

R语言将字符串向量转化为因子类型向量(from character vector to factor vector)

# 创建一个字符串向量并通过as.factor方法将字符串向量转化为因子向量;

# 通过class方法可以查看数据类型;

​
#create character vector
character_vector <- c('First', 'Second', 'Third')
#convert character vector to factor vector
factor_vector <- as.factor(character_vector)
#view factor vector
factor_vector
[1] First  Second Third 
Levels: First Second Third
#confirm class of factor vector
class(factor_vector)
[1] "factor"
 



R语言将dataframe的特定数据列从字符串类型转换为因子类型(from character vector to factor vector)

# 创建dataframe使用data.frame方法

# 把a这个数据列从字符串转化为因子类型;

​
#create data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
                 b = c(28, 34, 35, 36, 40))
#convert column 'a' from character to factor
df$a <- as.factor(df$a)
#view new data frame
1  First 28
2 Second 34
3  Third 40
#confirm class of factor vector
class(df$a)
[1] "factor"
 



R语言将dataframe的多个数据列从字符串类型转换为因子类型(from character vector to factor vector)

# 构建仿真数据,其中一个数据列为factor类型,其他数据列为:字符创类型、数值类型;

# 使用sapply方法可以查看所有字段的数据类型;

​
#create data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
                 b = c('28', '34', '35', '36', '40'),
                 c = as.factor(c(1, 2, 3, 4, 5)),
                 d = c(45, 56, 54, 57, 59))
#display classes of each column
sapply(df, class)
          a           b           c           d 
"character" "character"    "factor"   "numeric" 
#convert all character columns to factor
df <- as.data.frame(unclass(df), stringsAsFactors = TRUE)
#display classes of each column