Dies ist die Fehlermeldung:Wie behebe ich einen Fehler in R bei einer Pearson-Korrelation?
„In writeBin (v, x @ Datei @ con, size = x @ Datei @ dsize): Problem zu Verbindung 6 zu schreiben: In .rasterFromRasterFile (grdfile, bindet = Band, Objekttyp): Größe Wertedatei nicht die Anzahl von Zellen entsprechen (angesichts der Datentyp)“
ich habe 15 Rasterdateien aus dem gleichen Umfang und Dimension. Ich möchte nur die Korrelation dieser Daten über die Zeit (15 Jahre), dh 15 Raster-Dateien herausfinden.
verwendete ich das Skript unter:
list <- c(list.files(pattern = "\\.tif$"))
y <- stack()
for (i in 1:length(list)){
y <- stack(y,list[i]) }
corT <- layerStats(y, 'pearson', na.rm=TRUE)
OR die gestapelte Datei direkt wie folgt verwendet
test = brick ("EOS_ALL_STACK.tif")
corT = layerStats(test, 'pearson', na.rm=TRUE)
ich auch diese Funktion zu nutzen versucht, Korrelationskoeffizienten zu erhalten und r squared wie diese
fun5=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ c(1:15));summary(m)$coefficients[1,4]}} #fstatistic[1]
fun5=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ c(1:15));summary(m)$coefficients[2,4]}} #fstatistic[2]
fun3=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ x[1:15]);summary(m)$r.squared }}
dann verwendet "calc", um diese ac zu berechnen ross alle Pixel. Zum Beispiel:
r.squared <- calc(y, fun3)
Allerdings haben meine Ergebnisse immer noch die oben genannten Fehler und auch wenn es ein Ausgang ist, scheint es nicht sinnvoll zu sein.
Können Sie ein reproduzierbares Beispiel geben? http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-beispiel –
Ist Ihre Festplatte voll? – RobertH
Ich habe wirklich versucht, dies zu tun. Meine Dateien sind sehr große Bilder des gesamten afrikanischen Kontinents. Ich konnte wirklich eine verkürzte Version von ihnen haben, aber ich finde immer noch keinen Weg, sie hier zu reproduzieren. Irgendwelche Tipps bitte? – Tyruno