#r #dataframe #decision-tree
#r #фрейм данных #дерево решений
Вопрос:
Здравствуйте, я кодирую дерево решений на R, и при запуске моего кода возникает эта ошибка :
Ошибка: невозможно подмножество столбцов, которые не существуют. x столбцов Member
, Normal
, Normal
, Member
, Normal
, и т.д. не существуют.
df — это фрейм данных. Не могли бы вы мне помочь, пожалуйста? Спасибо. Вот мой код:
library(rpart)
library(caret)
library(dplyr)
library(rpart.plot)
library(xlsx)
library(caTools)
library(data.tree)
library(elemstatlearn)
#Loading Excel File
library(readxl)
FINALDATA <- read_excel("Desktop/FINALDATA.xlsm")
View(FINALDATA)
df <- FINALDATA
View(df)
#Selecting the meaningful columns for prediction
df <- select(df, City, df$`Customer type`, df$Gender, df$Quantity, df$Total, df$Date, df$Time, df$Payment, df$Rating)```
Комментарии:
1. Вам не нужно
df$
внутриselect
, т.е.select(mtcars, mtcars$mpg)
Возвращает ошибку. вместо этого было быselect(mtcars, mpg)
2. Спасибо за ваш ответ. Однако, когда я пишу: df <- выберите (df, город, df $
Customer type
, пол, количество, общее количество, дата, время, оплата, рейтинг) У меня такая же ошибка =(3. Я упоминал, что вам не нужно
df$
, т. е.df$Customer type
должно бытьCustomer type
в кавычках4. Вот что это делает: df <- select(df, город, тип клиента, пол, количество, общее количество, дата, время, оплата, рейтинг) Ошибка R: неожиданный символ в «df <- select (df, город, тип клиента»
5. Вы можете скопировать / вставить код, который я предоставил в решении
Ответ №1:
Правильным использованием dplyr::select
будут либо имена столбцов в кавычках, либо имена столбцов без кавычек, а не значение этого столбца ( df$City
— извлекает значение этого столбца)
library(dplyr)
df1 <- select(df, City, `Customer type`, Gender,
Quantity, Total, Date, Time, Payment, Rating)
Кроме того, существует много select-helpers
доступных ( starts_with
, ends_with
, matches
) или используйте диапазон, т.е. Если мы заинтересованы в выборе всех столбцов от города до рейтинга, используйте :
df1 <- select(df, City:Rating)
Комментарии:
1. Большое вам спасибо!!