R编程中的因素

时间:2016-02-05 02:00:22

标签: r

我对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)) 

给了我相同的结果。那么factoras.factor之间有什么区别?我得到了因子如何将相同的数字拉出来并使它们达到水平,但我不知道factoras.factor之间的确切差异。

1 个答案:

答案 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