: 염두에두고
, 여기에 내가 후하다고 생각거야. 내 문제를 단순화 한 것으로 생각하고 내 데이터에 정말로 이상한 일이 일어나고 있다고 생각합니다.
실제로 SpatialPolygonsDataFrame을 사용하고 있는데 object (object @ data) 내부의 data.frame을 바꾸려고합니다.
################ data ################
library(sp)
grd <- GridTopology(c(1,1), c(1,1), c(3,3))
polys <- as.SpatialPolygons.GridTopology(grd)
centroids <- getSpPPolygonsLabptSlots(polys)
x <- centroids[,1]
y <- centroids[,2]
z <- 1.4 + 0.1*x + 0.2*y + 0.002*x*x
map <- SpatialPolygonsDataFrame(polys,
data=data.frame(x=x, y=y, z=z, row.names=getSpPPolygonsIDSlots(polys)))
########## my case ##############
new.data1<-data.frame(x=x, y=y, z=z*2, row.names=getSpPPolygonsIDSlots(polys))
new.data2<-data.frame(x=x, y=y, z=z/2, row.names=getSpPPolygonsIDSlots(polys))
names<-c("new.data1","new.data2")
maps<-c("map1","map2")
for(i in 1:length(names)){
assign(maps[i],map) ### I copy the map in each of the maps I want
### and here I try to copy the new data.frames in the data slot of my maps
assign(maps[i],`@<-`(get(maps[i]),"data",get(names[i])))
}
#### check
identical(get(maps[1]),get(maps[2]))
나는 모든 것이 괜찮다고 생각했지만, 대신 나는 다른 맵에있는 두 data.frames이 동일한 지 가지고 :
그래서 시작은 내가 다른 사람에서 가져온 예입니다. 나는 조금 내가 행에 말하고 무엇에 열중하고 있었다 :
할당 (지도 [I], @<-
(GET (지도는 [I]), "데이터", (얻을 이름 [I])))
여기에 문제가 있다고 생각합니다. 왜이 마지막 라인은 두 개의 새 맵 (map1 & map2)에 동일한 data.frame (성 [i])을 할당합니까?
많은 감사
위대한, 그래서 쉽게 대답했다. 고맙습니다. – user2568049