无法在数据框中指定预测结果的列名称

时间:2018-12-17 02:32:47

标签: r dataframe columnname

我有一个yhat变量,它是预测函数的输出,并将其分配给一个数据帧:

x=matrix(rnorm(100*20),100,20)
y=rnorm(100)

cv.fit = cv.glmnet(x, y)
x=matrix(rnorm(100*20),100,20)
yhat = predict(cv.fit, s=cv.fit$lambda.1se, newx=x, type="response")
df = data.frame(ypred = yhat, ytest = y)
head(df)

      X1          y
1 0.06816674  0.1609813
2 0.06816674  1.4414283
3 0.06816674  0.4674309
4 0.06816674  0.3306559
5 0.06816674  0.4578457
6 0.06816674 -0.3337405

第一列的名称是X1而不是ypred。如果将yhat放在第二列中,则第二列名称为X1。这是错误吗?

df = data.frame(y_test = y, y_pred = yhat)
head(df)
  y_test         X1
1  0.1609813 0.06816674
2  1.4414283 0.06816674
3  0.4674309 0.06816674
4  0.3306559 0.06816674
5  0.4578457 0.06816674
6 -0.3337405 0.06816674

,如果我将yhat更改为vector,它会起作用:

df = data.frame(y_test = y, y_pred = as.vector(yhat))
head(df)
  y_test     y_pred
1  0.1609813 0.06816674
2  1.4414283 0.06816674
3  0.4674309 0.06816674

0 个答案:

没有答案