我是R和机器学习算法的新手,并尝试使用kaggle scikit example学习。
我有以下两个数据框:
> str(d.train)
'data.frame': 1000 obs. of 40 variables:
$ V1 : num 0.299 -1.174 1.192 1.573 -0.613 ...
> str(d.trainLabels)
'data.frame': 1000 obs. of 1 variable:
$ V1: int 1 0 0 1 0 1 0 1 1 0 ...
根据我的理解,大多数R工具都要与同一数据框内的类信息一起使用。出于这个原因,我试图将trainLabels添加为列车数据框的最后一列。
我尝试过以下代码:
# http://www.gm.fh-koeln.de/~konen/WPF-DM-Cup/DM-Template/ClassifyTemplate/utils_DMC.r
######################################################################################
# bind the column with name response.predict and contents vec as last column
# to data frame d
######################################################################################
bind_response <- function(d,response.predict,vec)
{
# drop column response.predict if there, do nothing if not there
d <- d[,setdiff(names(d),response.predict)]
# bind column response.predict as last column to data frame d
d <- cbind(d, prediction=vec)
names(d)[names(d)=="prediction"] <- response.predict
return(d)
}
d.totalTrain <- bind_response(d.train, d.trainLabels, "1")
但我不确定结果是我想要的结果:
> str(d.totalTrain)
'data.frame': 1000 obs. of 41 variables:
...
$ V40 : num 0.101 -1.818 2.987 1.883 0.408 ...
$ c(1, 0, 0, 1, 0, 1, 0, 1, ...
答案 0 :(得分:2)
首先重命名它会做你想要的吗?
colnames(d.trainLabels) <- "V41"
cbind( d.train, d.trainLabels )