【发布时间】:2013-10-21 15:26:36
【问题描述】:
我有两个数据框,我希望将它们作为一列标签附加到一个中;但是 rbind 没有按预期工作,可能是因为数据是因素:
> str(trainLabels)
Factor w/ 2 levels "0","1": 2 1 1 2 1 2 1 2 2 1 ...
> head(trainLabels)
[1] 1 0 0 1 0 1
Levels: 0 1
> str(testLabels)
Factor w/ 2 levels "0","1": 2 1 2 1 1 1 1 2 1 1 ...
> head(testLabels)
[1] 1 0 1 0 0 0
Levels: 0 1
trainPlusTestLabels <- rbind(trainLabels, testLabels)
然后:
head(trainPlusTestLabels)
给了我一个奇怪的输出。 trainPlusTestLabels 没有我想要的结构。
> str(trainPlusTestLabels)
int [1:2, 1:9000] 2 2 1 1 1 2 2 1 1 1 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:2] "trainLabels" "testLabels"
..$ : NULL
如何将两组标签附加到只有一列标签?
【问题讨论】:
-
在我看来,“trainLabels”和“testLabels”是
vectors,而不是data.frames。rbind在这种情况下会做一些完全不同的事情。 -
你想使用
c()来组合两个向量。 -
...或
data.frame(train = trainLabels,test = testLabels),如果您希望它们作为数据框中的列。 -
@tcash21,如果使用
c(),他们必须先转换为character。最好使用unlist(list(trainLabels, testLables), use.names = FALSE)。 -
@tcash21 c() 给了我像 2 这样的值,而标签只能是“0”或“1”。
标签: r