Я получаю эту ошибку:
Ошибка:
f
должен быть фактором (или вектором символов).
Вот мой код
ge19 <- read.csv("ge2019.csv")
aps19 <- read.csv("aps19.csv")
ge19aps19 <- merge(ge19, aps19,by = "ons_id")
ge19aps19$london <- ge19aps19$region_name
table(ge19aps19$london)
library (dplyr)
library(forcats)
ge19aps19$london <- fct_drop(ge19aps19$london)
table(ge19aps19$london)
ge19aps19$london <- relevel(ge19aps19$london, ref= "London")
table(ge19aps19$london)
ge19aps19$lab.per <- ge19aps19$lab/ge19aps19$valid_votes
ge19aps19$lab.per <- fct_drop(ge19aps19$lab.per)
Кто-нибудь может сказать мне, что случилось? впервые пользуюсь этим сайтом, поэтому, пожалуйста, дайте мне знать, если нужна дополнительная информация / я неправильно отформатировал свой вопрос
о, я думал, что так ты превратил это в код, дай мне отредактировать и попробовать еще раз
Не редактируйте, это уже сделано.
о, @RuiBarradas, вы снова отформатировали для меня, большое спасибо, есть идеи, как исправить мою ошибку?
Строка перед последней вычисляет соотношение, непрерывный результат, а в последней строке вы опускаете уровни факторов этого отношения. Нет уровней, которые нужно сбрасывать, так как это не фактор, отсюда и ошибка.
так что мне, вероятно, не нужно сбрасывать уровни после?
Что касается кавычек, они будут обратными кавычками до и после каждой строки кода, но еще лучше — 3 обратными кавычками до и после блока кода.
Нет, не сбрасывать уровни.
хорошо, большое спасибо за помощь!
Сообщение об ошибке означает, что параметр, который вы передали функции fct_drop
, не является ни factor
, ни character
.
И из вашего кода я увидел, что ge19aps19$lab.per
- это столбец numeric
, рассчитанный по этой формуле
ge19aps19$lab.per <- ge19aps19$lab/ge19aps19$valid_votes
Почему вы ставите fct_drop
на этой колонке? Это числовой столбец, поэтому fct_drop
выдал туда сообщение об ошибке!
Да, вы неправильно отформатировали код, зачем все эти кавычки?