мутировать данные с помощью линейного уравнения - PullRequest
0 голосов
/ 15 января 2019

У меня к вам технический вопрос:

lonlon <- c(3.581667, 3.146667, 3.256667, 2.860000, 3.473333, 2.981667, 3.465000, 2.703333, 3.521667, 3.320000, 3.196667, 3.961667, 3.686667, 3.305000, 3.413333, 3.250000, 3.325000, 3.856667,  3.028333, 3.211667, 3.993333, 3.045000, 3.728333, 3.515000, 2.755000, 3.691667, 2.675000,  4.096667, 3.853333, 2.880000, 3.750000, 3.565000, 2.961667, 3.165000, 4.166667, 3.145000,  2.740000, 3.145000, 3.346667, 3.400000, 3.351667, 3.245000, 3.108333, 3.301667, 3.506667,  2.856667, 3.308333, 3.456667, 2.975000, 3.320000, 3.201667, 3.398333, 3.303333)

lala <- c(43.68167, 43.33667, 43.65333, 43.62000, 43.59500, 43.68333, 43.38833, 43.60167, 43.58167, 43.73833, 43.71167, 43.57667, 43.63500, 43.65500, 43.45667, 43.62167, 43.76333, 43.71667, 43.50167, 43.80000, 43.72833, 43.65500, 43.77833, 43.84167 ,43.48833, 43.39667 ,43.32667, 43.72000, 43.53667, 43.36333 ,43.94667, 43.32833 ,43.49000 ,43.27333 ,43.63333 ,43.47500, 43.41667, 43.64000, 43.70667, 43.43667 ,43.32167 ,43.78500 ,43.58333, 43.55000 ,43.66333, 43.38500, 43.86667, 43.79167, 43.66667, 43.49167 ,43.30167, 43.65500, 43.41167)

lulu <- c(round(runif(53), digits=5))
lulu <- paste("town_",lulu, sep = "") 
lili <- cbind.data.frame( lulu, lonlon, lala)

plot(lili$lonlon, lili$lala)
abline(b = 0.7, a = 41.25)

Итак, я хочу создать 2 типа точек. введите 1: точки сверху / слева и введите 2: точки снизу / справа. Мое линейное уравнение: у = 0,7х + 41,25.

В прецедентной манипуляции я использовал:

  lili2 <- lili %>% mutate(type= case_when(
  lonlon < 3.35 ~ 1,
  lonlon > 3.35 & lala < 43.59 ~ 2,
  lonlon > 3.35 & lala > 43.59 ~ 3
))

Возможно ли выполнить те же манипуляции, но согласно моей диагонали (линейное уравнение), пожалуйста? Спасибо

1 Ответ

0 голосов
/ 15 января 2019
require(dplyr)

lili <- 
lili %>% 
  mutate(point_type  = if_else (lala >= (.7*lonlon + 41.25),1,2)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...