【问题标题】:Error in createDataPartition.... : y must have at least 2 data points [duplicate]createDataPartition 中的错误....:y 必须至少有 2 个数据点 [重复]
【发布时间】:2019-12-07 00:48:50
【问题描述】:

我需要有关 createDataPartition 的帮助 我收到此错误

createDataPartition 中的错误(TBdta$medv,p = 0.8,list = FALSE):y 必须至少有 2 个数据点

我的代码

library(tibble)
dta <- url("http://course1.winona.edu/bdeppa/Stat%20425/Data/Boston_Housing.csv")
TBdta <- as_tibble(read.csv(dta, check.names = FALSE)) 
TBdta

当我运行下面的 chunch 时出现了我的错误

# Split out validation dataset
# create a list of 80% of the rows in the original dataset we can use for training
set.seed(7)
validationIndex <- createDataPartition(TBdta$medv, p=0.80, list=FALSE)
# select 20% of the data for validation
validation <- TBdta$medv[-validationIndex,]
# use the remaining 80% of data to training and testing the models
dataset <- TBdta$medv[validationIndex,]

createDataPartition 中的错误(TBdta$medv,p = 0.8,list = FALSE):y 必须至少有 2 个数据点

【问题讨论】:

  • 恐怕这只是一个错字。列名是MEDV,您使用的是小写的medv
  • 谢谢,但这也不起作用,仍然会收到警告消息:1:未知或未初始化的列:'medv​​'。 2:未知或未初始化的列:“medv”。未知或未初始化的列:“medv”。未知或未初始化的列:“medv”。
  • 您确定您使用的是正确的列名吗?不过它对我有用。 validationIndex &lt;- caret::createDataPartition(TBdta$MEDV, p=0.80, list=FALSE)
  • 这是我的代码 set.seed(7) validationIndex
  • 仍然出现错误,在新窗口中显示清除输出展开/折叠输出警告消息:1:未知或未初始化列:“medv”。 2:未知或未初始化的列:“medv”。 3:未知或未初始化的列:'medv​​'。 TBdta$MEDV[-validationIndex, ] 中的错误:维数不正确

标签: r


【解决方案1】:

我猜你需要的是

set.seed(7)
validationIndex <- caret::createDataPartition(TBdta$MEDV, p=0.80, list=FALSE)
validation <- TBdta[-validationIndex,]
dataset <- TBdta[validationIndex,]

这样你就有了

dim(validation)
#[1] 99 14
dim(dataset)
#[1] 407  14

【讨论】:

  • 太棒了,而且有效。荣誉罗纳克
猜你喜欢
  • 2012-11-05
  • 2022-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-28
  • 1970-01-01
  • 2022-10-08
  • 2019-04-27
相关资源
最近更新 更多