我对R编程很新,所以我只是在这里和那里学习。我最近进入了这些行
x <- as.factor(rep(1:4, 2))
x
# [1] 1 2 3 4 1 2 3 4
# Levels: 1 2 3 4
但如果我这样做
x <- factor(rep(1:4, 2))
给了我相同的结果。那么factor
和as.factor
之间有什么区别?我得到了因子如何将相同的数字拉出来并使它们达到水平,但我不知道factor
和as.factor
之间的确切差异。
答案 0 :(得分:0)
R中的五种原子数据类型(至少是最灵活的顺序)是:逻辑,整数,双精度和字符。
原子矢量的所有元素必须是相同的类型,因此当我们尝试组合不同类型时,它们将强制转换为最灵活的类型。
例如:
str(c("a", 1))
#> chr [1:2] "a" "1"
强制经常自动发生。我们还可以使用as.factor(),as.character(),as.double(),as.integer()或as.logical()明确强制。
因此,正如@alistaire所指出的,要理解factor()和as.factor()之间的区别,你必须理解&#39;强制&#39;
你可以在https://www.safaribooksonline.com/library/view/r-in-a/9781449358204/ch05s08.html
阅读强迫行为另外,作为一个初学者,你必须阅读R中的数据结构 http://adv-r.had.co.nz/Data-structures.html