R通过for循环提取数据

时间:2017-03-08 21:03:05

标签: r

我有大量的矩阵,呼叫列车是一个二进制数据,1和0

我想提取并制作另外两个列表,其中包含1作为list1,0作为list2使用for循环

我的R代码无效

X <- c(0,1,0,1,0,1)
Y <- c(1,1,1,1,1,0)
train<- as.matrix (cbind(X,Y))
list1 <- list()
list2 <- list()

for(i in 1:length(train)) {
 if(train[i]== 1)
    list1 = train[i]
 else
    list2 = train[i]

}

因此我希望我的list1包含(1,1,1,1,1,1,1)而list2包含(0,0,0,0)

1 个答案:

答案 0 :(得分:0)

也许您不需要for循环,只需使用逻辑评估选择您的数据。顺便说一句,R中所需的数据结构称为vector,而不是list。有关更多信息,请参阅此网站(http://www.programcreek.com/2014/01/vector-array-list-and-data-frame-in-r/)。

list1 <- train[train == 1]
list2 <- train[train == 0]