使用data.frame函数创建一个字符变量

时间:2017-05-23 22:34:18

标签: r class dataframe char

使用R中的data.frame函数,我正在创建一个示例数据集。但是,带有字符串的向量将转换为 factor 列。

如何在数据集中生成带字符串的向量(例如var1)成为字符列?

当前代码

df = data.frame(var1 = c("1","2","3","4"), 
                var2 = c(1,2,3,4)) 

产生的结果

如下所示,var1是一个因素。我需要var1才能拥有chr类。

> str(df)

'data.frame': 4 obs. of  2 variables:
$ var1 : Factor w/ 4 levels "1","2","3","4": 1 2 3 4
$ var2 : num  1 2 3 4

故障排除

根据此post,我尝试添加as.character,但var1仍然是一个因素。

df = data.frame(var1 = as.character(c("1","2","3","4")), 
                var2 = c(1,2,3,4))

2 个答案:

答案 0 :(得分:2)

stringsAsFactors是你的朋友。即:

df = data.frame(var1 = c("1","2","3","4"),var2 = c(1,2,3,4),stringsAsFactors = F) 

屈服:

> str(df)
'data.frame':   4 obs. of  2 variables:
 $ var1: chr  "1" "2" "3" "4"
 $ var2: num  1 2 3 4

答案 1 :(得分:0)

根据评论,添加参数stringsAsFactors=FALSE将创建字符变量而不是因子变量。