как преобразовать вектор, содержащий такие факторы, как «3,5 / 7», в вектор целых чисел - PullRequest
1 голос
/ 02 марта 2020

Эй, ребята, я пытаюсь преобразовать вектор, содержащий все значения факторов, как показано на рисунке ниже, в целочисленный вектор:

image of vector

У меня есть пробовал data$rate=as.numeric(data$rate) и это дает мне частоты всех оценок как num, а data$rate=as.numeric(as.character(data$rate)) дает мне все значения NA.

Я бы хотел преобразовать в обычное int или num, спасибо.

Ответы [ 2 ]

0 голосов
/ 02 марта 2020
data$rate <- as.numeric(sub("\\/5", "", data$rate))

Это эффективно заменяет "/ 5" на "".

0 голосов
/ 02 марта 2020

Вы ищете что-то подобное этой функции?

factor2num <- function(x, parse = FALSE){
  s <- as.character(x)
  if(parse) eval(parse(text = s)) else as.numeric(s)
}

factor2num(factor("3"))    
#[1] 3

factor2num(factor("3.9/5"), TRUE)
# [1] 0.78
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...