2017-11-25 65 views
0

我有一个数据框,其值按级别(因子)分类,所以我想创建一个具有特定级别值的向量,例如,如何使用按R中因子分类的数据框的值创建矢量?

A <- c("Case1", "Case3", "Case2", "Case3", "Case2", 
     "Case1", "Case3", "Case2", "Case2", "Case3", 
     "Case1", "Case1", "Case3", "Case1", "Case2") 
Factors <- factor(A) 
Values <- 1:15 

DF <- data.frame(Factors, Values) 

Values_of_Case1 <- DF$Values... ???? 

如何创建载体,以获得类似:

print(Values_of_Case1) 
[1] 1 6 11 12 14 

回答

2
DF$Values[DF$Factors == "Case1"] 
[1] 1 6 11 12 14 

subset(DF, Factors=='Case1')$Values 
[1] 1 6 11 12 14 

应该工作。

如果你想只为匹配的行索引,你可以这样做:

which(DF$Factors == "Case1") 
[1] 1 6 11 12 14 

在这种情况下是一样的,但它可能不会在你的使用情况。

+0

此外,我想创建一个向量wuth行号。我该怎么做? –

+0

@DanielValenciaC。我用一种获取行号的方式更新了帖子。 – r3robertson