2017-02-22 12 views
0

Я пытаюсь использовать алгоритм Дугласа Peucker в R. Выполнив следующий код, я получаю следующее сообщение об ошибке:Не удалось найти «DouglasPeuckerEpsilon» на языке R

Px <- (1:100)/10 
Py <- dnorm(Px,3,1)+dnorm(Px,7,1)+Px/10 

### Example 1 
### Simplification using epsilon 

par(mfrow=c(2,2)) 
plot(Px,Py,type="l") 
plot(DouglasPeuckerEpsilon(Px,Py,0.01),type="b",col=4) 
Could not find the "DouglasPeuckerEpsilon" in R language. 

Это потому, что я делаю не установлен ли пакет DP?

+2

'DouglasPeuckerEpsilon' появляется, по крайней мере, из пакета 'kmlShape'. Установите это и посмотрите, работает ли он для вас. –

+0

Когда мне нужна функция, но я не знаю этого пакета (и он не установлен на моем локальном R), я часто буду google 'cran <имя_функции>'. Поиск 'R <имя_функции>' просто слишком сложно, но 'cran' часто предоставляет отличные подсказки. В этом случае ('cran DouglasPeuckerEpsilon')' kmlShape', как указано римским, находится в верхней части списка. – r2evans

+1

Я установил пакет 'kmlShape'' install.packages ("kmlShape") ', и я приступаю к выполнению оператора: ' plot (DouglasPeuckerEpsilon (Px, Py, 0.04), type = "b", col = 3) '. И я до сих пор получаю ошибку: 'Ошибка в графике (DouglasPeuckerEpsilon (Px, Py, 0,04), type =" b ", col = 3); Не удалось найти «DouglasPeuckerEpsilon» ' –

ответ

1

Выполните следующие шаги:

  1. Установите пакет (kmlShape)
  2. Затем загрузите библиотеку (kmlShape)

    install.packages("kmlShape") 
    
    library("kmlShape") 
    

Затем запустите plot(DouglasPeuckerEpsilon(Px,Py,0.01),type="b",col=4) для Ramer-Douglas- Пиккерный алгоритм (RDP)

+0

Большое спасибо, я решил свою проблему –

+0

@LizandroLuzonM - Я рад, что это вам помогло. Иногда мы стараемся пропустить шаг загрузки пакета после установки пакета, и мы задаемся вопросом, что случилось с код или пакет :)! ... – Mithunram