행렬로 변환하려는 LON, LAT, VALUE의 큰 데이터 프레임 (100,000 행)이 있습니다. (EPSG의 좌표 : 3035). 공간 데이터 xyz - 행렬
나는 멋지고 일 다음 명령acast(df, lon~lat, value.var="value")
으로 reshape2 패키지를 시도했다.
좌표를 'EPSG : 4326'으로 변환하고 같은 코드를 실행하면 오류가 발생합니다. 아래의 하나의 코드가 작동처럼 재현 예를 들어
str(df1)
data.frame': 168643 obs. of 3 variables:
$ x: num 28 28.1 27.8 28 28.1 ...
$ y: num 71.1 71 71 71 71 ...
$ z: num 0.0893 0.093 0.085 0.0886 0.0924 ...
> aa=acast(df1, x~y, value.var="z")
Error in seq_len(n) : argument must be coercible to non-negative integer
In addition: Warning message:
In match(seq_len(n), overall, nomatch = NA) : NAs introduced by coercion
,하지만 난이 같은 대규모 데이터 프레임을 왜, 내가 오류를 얻고있다. 그것은 좌표의 변형으로 무엇이든해야만합니다.
x=c(-8.084929925, -8.01229693, -7.939629855, -7.866928803, -7.794193877, -7.721425179, -7.648622813, -7.575786885, -7.502917498, -7.430014757, -7.357078769, -7.284109638, -7.211107472, -7.138072377, -7.065004461, -6.99190383)
y=c(53.07977473, 53.09085897, 53.10189964, 53.11289671, 53.12385014, 53.1347599, 53.14562596, 53.15644829, 53.16722685, 53.17796162, 53.18865255, 53.19929962, 53.2099028, 53.22046205, 53.23097734, 53.24144865)
z=c(0.065, 0.063, 0.062, 0, 0, 0, 0.061, 0.062, 0.064, 0.06, 0.069, 0.074, 0.079, 0.08, 0.092, 0.10)
df=data.frame(x,y,z)
acast(df, x~y, value.var="z")
의견이 있으십니까?
예제를 재현 할 수 있습니까? –
은 다음 데이터와 함께 작동합니다 :'df
@PaulHiemstra 작은 재현 가능한 예제를 추가했습니다. . – Nav