Използвам пакета spatstat. Имам рамка от данни с координати, която съм разделил на два набора, здрави (Марк=не) и болни (Марк=да). Мога да намеря разстоянието между болната точка и всички останали точки:
>D<-crossdist(diseased,healthy)
Но сега трябва да отбележа точките си въз основа на разстоянията, на които са от болната точка, нещо като:
>i<-length(D)
>for n=1:i,
> if D[n]<1,
> mark(n)<-yes,
> else,
> mark(n)<-no,
> end
>end
Нов съм в използването на цикли в R и никога не съм бил много добър в Matlab, все още минавам през всички помощни ръководства, но всякакви съвети как да направя това биха били много полезни.
D изглежда така:
> D
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0.4796548 5.906068 6.061941 5.837476 5.62358 5.196297 7.687075 1.740198
[,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
[1,] 2.760947 8.921383 10.64188 8.385258 6.788703 6.542282 8.631057 11.19689
[,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24]
[1,] 11.38957 11.16738 10.88189 10.48931 9.116005 7.757465 7.907191 8.453458
[,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32]
[1,] 7.072456 6.89453 8.900875 8.613843 8.569073 11.82978 11.68813 9.27332
[,33] [,34] [,35] [,36] [,37] [,38] [,39]
[1,] 9.318501 9.64491 9.264779 9.357388 9.488624 10.57165 9.173374
D
(някои хора не са запознати сspatstat
), е трудно да се даде точна информация. Вярвам, че функциятаifelse
може да бъде полезна, ако D е вектор. Може би покажете как изглежда D с `head(D, 10) и публикувайте това. - person Tyler Rinker   schedule 24.07.2012dput(D)
и поставете изхода. - person Ryogi   schedule 25.07.2012ifelse(D < 1, 'yes', 'no')
. - person Justin   schedule 25.07.2012