Использование вычислений внутри dataframe всегда приводит к ошибке: не числовой аргумент - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть датафрейм:

mydata <- structure(list(
   max_L = c("1,71", "1,44", "2,35", "1,64", "3", "1,73"), 
   max_W = c("2,24", "3,14", "1,67", "2,5", "1,57", "2,22" )), 
  row.names = c(NA, 6L), class = "data.frame")

Я хочу взять каждую строку и сделать следующий расчет:

 (1/ value of max_L)+(1/ value of max_W) 

Тогда я хочу поместить эти результаты в новый столбец. Как я могу это сделать?

1 Ответ

0 голосов
/ 29 апреля 2019

вы можете назначить новый столбец вашему фрейму данных mydata, например:

mydata$col3 <- 1 / mydata$col1 + 1 / mydata$col2

EDIT после того, как OP показал свои данные:

Ваши данные находятся всимвольный формат.Вы должны сначала преобразовать его в цифры.Если вы получили данные из внешнего источника с помощью read.table (или аналогичной функции), вы можете установить десятичный разделитель: dec = ",".

Однако в вашем случае вы можете сделать следующее:

mydata[,1] <- as.numeric(gsub(",", ".", mydata[,1]))
mydata[,2] <- as.numeric(gsub(",", ".", mydata[,2]))
mydata$col3 <- 1 / mydata[,1] + 1 / mydata[,2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...