Aşağıdaki veri çerçevesini düşünün orijinal boyutlarına:R - "Unmelt" bir erimiş dataframe geri
> df <- data.frame(x=sample(c(0,1),9,replace=T))
> df$x <- factor(df$x)
> df
x
1 1
2 1
3 0
4 1
5 0
6 0
7 0
8 1
9 1
en çok ikili lojistik regresyon çıkışı (0,1) geldi diyelim ve ben bunu dönüştürmek istediğiniz 3x3 tarama. Bundan önce 3x3 veriye veya dizime ihtiyacım var. Ben bu sonucu nasıl ulaşabilir:
df
[,1] [,2] [,3]
[1,] 1 1 0
[2,] 1 0 0
[3,] 0 1 1
DÜZENLEME:
teşekkürler @A. Webb senin için yorum yap. Başka bir görevden bahsetmedim.
: Bana 23 204x212 matrisleri veya diziler halinde (43.248 satırları her) bölünmüş (sayısal) başka bir alana göre gereken büyük bir veri çerçevesi (994.704 satır) sahip, en sırayla raster dönüştürülmesi "y" diyelimfor (i in unique(df$y)){
df.new.[i] <- raster(matrix(df$x[each 43248 rows],204,212,byrow=T))
}
Yani df.new olarak adlandırılan 23 raster (204x212) yol açmalıdır [y değeri]:
> df
y x
1 27 1
2 27 1
3 27 0
4 27 1
5 27 0
6 27 0
7 27 0
8 27 1
9 27 1
10 27.5 1
11 27.5 1
12 27.5 0
13 27.5 1
14 27.5 0
15 27.5 0
16 27.5 0
17 27.5 1
18 27.5 1
...
994704 38 1
Benim mantığı, ben bile nasıl uygulanacağı değil eminim gibi bir şeydir.. Bu benim meydan okumamı temel alan daha gerçekçi bir örnek. Esasen
'matrisi (as.numeric (seviyelerini yapmak (df $ x gibi bir şey olurdu öngörülen) [Df $ x]), 3,3, byrow = TRUE) '? –
@ A.Webb, yorumunuz için teşekkürler. Gerçekten çalışıyor. Ama benim gerçek sorunumu yakından yansıtmak için yazımda bir düzenleme yaptım. – Jecogeo