更改R中数据框中多列的数据类型

时间:2016-06-28 11:58:10

标签: r type-conversion

我有以下数据框:

str(dat2)
data.frame: 29081 obs. of 105 variables:
$ id: int 20 34 46 109 158....
$ reddit_id: chr "t1_cnas90f" "t1_cnas90t" "t1_cnas90g"....
$ subreddit_id: chr "t5_cnas90f" "t5_cnas90t" "t5_cnas90g"....
$ link_id: chr "t3_c2qy171" "t3_c2qy172" "t3_c2qy17f"....
$ created_utc: chr "2015-01-01" "2015-01-01" "2015-01-01"....
$ ups: int 3 1 0 1 2....
...

如何将 reddit_id subreddit_id link_id 数据类型从字符更改为因子?我知道如何逐列完成,但由于这是一项繁琐的工作,我正在寻找一种更快的方法。

我尝试了以下内容,但没有成功:

dat2[2:4] <- data.frame(lapply(dat2[2:4], factor))

来自this approach。它最终给我一个错误信息:无效的“长度”参数

另一种方法是这样做:

dat2 <- as.factor(data.frame(dat2$reddit_id, dat2$subreddit_id, dat2$link_id))

结果:sort.list(y)出错:“x”必须是“sort”的原子。

在阅读错误后,我也尝试了反过来:

dat2 <- data.frame(as.factor(dat2$reddit_id, dat2$subreddit_id, dat2$link_id))

也没有成功

如果缺少某些信息,我很抱歉。我是R和Stackoverflow的新手......谢谢你的帮助!!!

0 个答案:

没有答案