为什么我在data [rows,]中遇到错误:类型为'closure'的对象不可子集

时间:2020-03-01 05:31:46

标签: r

使用我的代码,我得到了错误:类型为'closure'的对象是不可子集的,并且我不确定从那里去哪里。我需要更改些什么才能消除错误?

library(dplyr)
data(iris)
rows <- sample(nrow(data))
data <- data[rows, ]
train <- rbind(data[data$Species == "setosa", ][1:40, ], data[data$Species == "versicolor", ][1:40,])

test <- rbind(data[data$Species == "setosa", ][41:50, ], data[data$Species == "versicolor", ][41:50, ])

glm.fits <- glm(Species ~ Sepal.Width + Sepal.Length + Petal.Length, data = train, family = binomial)
glm.probs <- predict(glm.fits, test, type = "response")
glm.prep <- rep("setosa", 20)
glm.prep[glm.probs > 0.5] = "versicolor"
table(glm.prep, test$Species)


1 个答案:

答案 0 :(得分:-1)

data(iris)将创建一个名为iris而不是data的变量,您的代码似乎除外。

请尝试使用data <- iris,因为iris数据集已经可用。

如果有帮助,并且您正在RStudio中工作,请尝试逐行运行代码以查看错误发生的位置。完成后,您会看到rows变量设置为NULL,这是意外的。