将概率向量添加回R中的原始数据帧

将概率向量添加回R中的原始数据帧,r,R,我能够成功地运行一个射频模型使用一些R代码,我给。下面是我的数据片段 唯一的问题是,代码的编写方式只输出一个概率向量,而没有来自原始测试数据集“testset”的数据。所以现在我正试图找出如何输出我的概率和原始数据帧,因为我无法在线找到解决方案。换句话说,我希望它是数据集中的另一列,就像我的FLSAStat列之后一样。这样我就可以将所有内容一起输出到csv文件中 以下是我所拥有的: ##################################################### # 1

我能够成功地运行一个射频模型使用一些R代码,我给。下面是我的数据片段

唯一的问题是,代码的编写方式只输出一个概率向量,而没有来自原始测试数据集“testset”的数据。所以现在我正试图找出如何输出我的概率和原始数据帧,因为我无法在线找到解决方案。换句话说,我希望它是数据集中的另一列,就像我的FLSAStat列之后一样。这样我就可以将所有内容一起输出到csv文件中

以下是我所拥有的:

#####################################################
# 1. SETUP DATA
#####################################################
mydata <- read.csv("train_test.csv", header=TRUE)
colnames(testset)
[1] "train"           "Target"          "ApptCode"        "Directorate"         "New_Discipline"  "Series"          "Adjusted.Age"   
[8] "Adj.Service"     "Adj.Age.Service" "HiEducLv"        "Gender"           "RetCd"           "FLSAStat"  
> head(testset)
 train Target ApptCode                Directorate             New_Discipline Series  Adjusted.Age Adj.Service Adj.Age.Service HiEducLv Gender
5909     0     NA       IN                   Business Math  Computer Science  IT     PSTS        54.44          10           64.44 Bachelor   Male
5910     0     NA       IN                Computation Math  Computer Science  IT   PSTS        51.51          15           66.51 Bachelor   Male
5911     0     NA       IN Physical and Life Sciences                    Physics   PSTS        40.45           5           45.45      PHD   Male
5912     0     NA       IN  Weapons and Complex Integ                    Physics   PSTS        62.21          35           97.21      PHD   Male
5913     0     NA       IN  Weapons and Complex Integ                    Physics   PSTS        45.65          15           60.65      PHD   Male
5914     0     NA       FX Physical and Life Sciences                    Physics   PSTS        36.13           5           41.12      PHD   Male
  RetCd FLSAStat
5909  TCP2        E
5910  TCP2        E
5911  TCP2        E
5912  TCP2        E
5913  TCP1        E
5914  TCP2        E    

#create train and test sets
trainset = mydata[mydata$train == 1,]
testset = mydata[mydata$train == 0,]
#eliminate unwanted columns from train set 
trainset$train = NULL
#####################################################
# 2. set the formula
#####################################################
theTarget <- "Target"
theFormula <- as.formula(paste("as.factor(",theTarget, ") ~ . "))
theFormula1 <- as.formula(paste(theTarget," ~ . "))
trainTarget = trainset[,which(names(trainset)==theTarget)]
testTarget  = testset[,which(names(testset)==theTarget)]

#####################################################
# Random Forest
#####################################################
library(randomForest)
what <- "Random Forest"
FOREST_model <- randomForest(theFormula, data=trainset, ntree=500)
train_pred <- predict(FOREST_model, trainset, type="prob")[,2]
test_pred <- predict(FOREST_model, testset, type="prob")[,2]
display_results()
testID  <- testset$case_id
predictions <- test_pred
submit_file = cbind(testID,predictions)
write.csv(submit_file, file="RANDOM4.csv", row.names = FALSE)
#####################################################
# 1. 设置数据
#####################################################
mydata头(测试集)
培训目标应用代码董事会新学科系列调整。年龄调整。服务调整。年龄。服务等级性别
5909 0 NA商业数学计算机科学IT PSTS 54.44 10 64.44学士学位男性
5910 0 NA计算数学计算机科学IT PSTS 51.51 15 66.51学士学位男性
5911 0自然科学和生命科学物理学硕士40.45 5 45.45博士男性
5912武器和复杂综合物理专业0 NA PSTS 62.21 35 97.21博士男性
5913 0武器和复杂综合物理专业NA PSTS 45.65 15 60.65博士男性
5914 0 NA FX物理和生命科学物理PSTS 36.13 5 41.12博士男性
复鞣剂
5909 TCP2 E
5910 TCP2 E
5911 TCP2 E
5912 TCP2 E
5913 TCP1 E
5914 TCP2 E
#创建训练集和测试集
列车组=mydata[mydata$train==1,]
testset=mydata[mydata$train==0,]
#从列车组中消除不需要的列
列车组$train=NULL
#####################################################
# 2. 设定公式
#####################################################

目标只需将列添加到数据帧中,如下所示:

testset$Predictions <- test_pred
write.csv(testset, file="RANDOM4.csv", row.names = FALSE)
testset$Predictions嗨!你介意复习和修改你的问题吗?如果您能提供一个可复制的示例,说明您的起始数据集、模型的概率输出以及这两个方面应该如何结合在一起,我们将更容易为您提供帮助。作为替代或补充,请查看
cbind()
rbind()
merge()
、或
match()
,以执行您需要执行的操作……前两个简单地按行或列组合对象,而后两个大致相当于SQL连接