我有一堆包含一堆变量的表。我可以用什么陈述来确定这些变量是被视为一个因素还是连续的?
答案 0 :(得分:10)
假设foo
是您的对象的名称,它是一个数据框,
f <- sapply(foo, is.factor)
将is.factor()
函数应用于数据框的每个组件(列)。 is.factor()
检查所提供的向量是否与R有关。
然后
which(f)
会告诉你因子列的索引。 f
也包含逻辑向量,因此您可以通过
foo[, f]
或选择除了他们之外的所有
foo[, !f]
以下是一个例子:
> ## some dummy data
> foo <- data.frame(a = factor(1:10), b = 1:10, c = factor(letters[1:10]))
> foo
a b c
1 1 1 a
2 2 2 b
3 3 3 c
4 4 4 d
5 5 5 e
6 6 6 f
7 7 7 g
8 8 8 h
9 9 9 i
10 10 10 j
> ## apply is.factor
> f <- sapply(foo, is.factor)
> f
a b c
TRUE FALSE TRUE
> ## which are factors
> which(f)
a c
1 3
> ## select those
> foo[, f]
a c
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
6 6 f
7 7 g
8 8 h
9 9 i
10 10 j
对数字和整数也有相同的检查,其中包括:is.numeric()
和is.integer()
,但如果您不关心数字的类型,则只需要is.numeric()
:< / p>
> is.numeric(1L)
[1] TRUE
(另外is.character()
,is.logical()
,...)
答案 1 :(得分:6)
您必须使用is.factor
和is.numeric
。
答案 2 :(得分:4)
您可以使用str(Data)
?str - 紧凑地显示R对象的内部结构,a 诊断功能和摘要的替代(在某种程度上, dput)