2013-02-08 151 views
0

我有一個情況,我有一個帶離散點的x,y和z數據。我使用akima包來插入x,y和z點,如下所示。用x,y和z轉換一個列表爲x,y和z長度不等的數據框R

library(akima) library(geoR) data1 <- read.csv("contour.csv") 

x<-data1$X 
y <-data1$Y 
z <- data1$Salinity 

jd <- interp(x,y,z) 

當我看可變JD的摘要是示出如下:

> summary(jd) 
    Length Class Mode 
x 40 -none- numeric 
y 40 -none- numeric 
z 1600 -none- numeric 

head(jd) 
$x 
[1] 438562.6 439291.8 440021.0 440750.1 441479.3 442208.4 442937.6 443666.8 444395.9 445125.1 445854.3 446583.4 447312.6 448041.7 448770.9 
[16] 449500.1 450229.2 450958.4 451687.6 452416.7 453145.9 453875.0 454604.2 455333.4 456062.5 456791.7 457520.9 458250.0 458979.2 459708.3 
[31] 460437.5 461166.7 461895.8 462625.0 463354.2 464083.3 464812.5 465541.6 466270.8 467000.0 

$y 
[1] 3348039 3348686 3349334 3349982 3350630 3351277 3351925 3352573 3353221 3353868 3354516 3355164 3355811 3356459 3357107 3357755 3358402 
[18] 3359050 3359698 3360346 3360993 3361641 3362289 3362936 3363584 3364232 3364880 3365527 3366175 3366823 3367470 3368118 3368766 3369414 
[35] 3370061 3370709 3371357 3372005 3372652 3373300 

$z 
     [,1]  [,2]  [,3]  [,4]  [,5]  [,6]  [,7]  [,8]  [,9] [,10] [,11] [,12] [,13] [,14] [,15] 
[1,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[2,] NA  NA  NA  NA  NA 18.71574 17.10335 16.62478 16.11543 15.14366 14.17188 13.50601  NA  NA  NA 
[3,] NA  NA  NA  NA 21.89464 18.81536 16.80370 16.75368 15.95741 15.02082 14.34328 13.85912 12.88734 11.91557 10.94380 
[4,] NA  NA  NA  NA 22.32342 18.91173 16.57913 16.82675 15.81215 15.20209 14.47508 13.74807 13.02107 12.29406 11.53566 
[5,] NA  NA  NA 25.74385 22.41979 19.00810 16.11968 16.39897 15.01279 14.38055 13.80891 13.29606 12.56905 12.65366 12.04914 
[6,] NA  NA  NA 25.92784 22.51616 19.10447 15.52771 16.29400 14.73203 14.32337 13.73605 13.18126 13.19240 13.28013 13.02879 
[7,] NA  NA 29.43590 26.02421 22.61253 18.65089 15.64738 16.18430 15.38269 14.48052 13.74105 14.49734 14.23075 13.81929 13.11640 
[8,] NA  NA 29.53227 26.07000 21.88580 17.51887 15.65061 16.51800 16.08679 15.72274 15.37834 14.93771 14.39266 13.65679 13.00940 
[9,] NA 33.00112 29.52736 25.76968 22.06680 18.03948 16.60009 17.40118 16.34181 15.93678 15.44747 14.76168 14.08747 13.75458 12.90974 
[10,] NA 34.22111 30.52862 27.20880 23.08026 19.24614 16.69817 17.74406 16.51232 15.97623 15.43038 14.96491 14.67791 13.64814 12.57191 
[11,] NA 33.33584 30.19036 27.40987 24.95383 22.71728 19.14584 17.22947 17.06058 15.93447 16.00417 15.61906 14.57890 13.59449 12.74819 
[12,] NA 32.90973 27.97481 26.46768 26.32858 23.57614 19.04108 17.54636 16.85564 16.84410 16.55817 15.75915 14.91284 14.06654 12.76555 
[13,] NA 34.48335 31.53412 26.40919 22.00703 24.10761 17.11776 18.16298 17.14980 16.65305 16.88235 16.23120 15.38490 14.09612 12.51837 
[14,] NA 33.66080 32.32938 28.23699 21.05087 22.55036 18.07438 18.34346 17.26064 16.51573 16.86190 16.70325 15.42668 13.84894 12.27120 
[15,] NA  NA 32.41577 29.66875 23.59776 20.60085 18.09717 17.93024 19.64474 17.06719 17.15981 16.64390 15.17950 13.60176 12.02402 
[16,] NA  NA 31.56142 30.10294 23.92506 22.73337 20.53772 18.25641 16.26291 20.01113 17.57097 15.98826 14.70423 13.35458 11.89578 
[17,] NA  NA  NA 29.94705 27.19926 23.00028 19.70647 17.21280 16.38213 19.79163 15.16939 15.20904 14.29653 13.11519 13.00132 
[18,] NA  NA  NA 29.33084 28.51597 21.33761 21.11167 19.88850 21.18758 21.76292 20.27480 18.46781 16.55054 14.42923 14.87981 
[19,] NA  NA  NA  NA 27.36045 22.13575 17.01404 20.52726 18.72622 18.82724 18.85308 20.72224 18.76567 14.56480 14.44485 
[20,] NA  NA  NA  NA 27.10025 23.49826 17.95038 22.34124 18.63271 17.23419 17.17958 19.85733 19.49158 16.88207 15.02271 
[21,] NA  NA  NA  NA 26.27491 23.71870 20.22969 21.84924 18.03093 16.74750 15.35027 19.24918 20.43676 18.37605 16.37196 
[22,] NA  NA  NA  NA  NA 24.60396 20.52089 20.44391 17.54888 15.76986 15.65422 18.82818 19.31466 19.08708 16.56192 
[23,] NA  NA  NA  NA  NA 23.90008 20.54693 20.33115 18.08830 15.17747 18.01053 18.71607 18.60055 19.52322 17.53979 
[24,] NA  NA  NA  NA  NA  NA 21.80912 21.22678 20.60361 15.95443 18.29648 18.53598 18.55362 19.41405 18.73032 
[25,] NA  NA  NA  NA  NA  NA 21.87026 21.86509 22.53911 16.75394 16.79886 17.89577 18.53257 18.69387 18.72339 
[26,] NA  NA  NA  NA  NA  NA  NA 20.10637 21.40663 17.30416 15.89197 17.00273 18.30305 18.66460 18.48645 
[27,] NA  NA  NA  NA  NA  NA  NA  NA 20.61700 19.09812 16.24669 16.56761 17.56362 18.22984 18.37394 
[28,] NA  NA  NA  NA  NA  NA  NA  NA  NA 22.52313 21.05539 18.47191 16.18376 16.96282 18.06727 
[29,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 23.57581 20.84710 18.27427 16.83716 17.17981 
[30,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 21.12011 18.10776 17.24194 
[31,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 21.67675 18.66440 
[32,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[33,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[34,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[35,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[36,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[37,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[38,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[39,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[40,] NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
      [,16]  [,17]  [,18]  [,19]  [,20]  [,21]  [,22]  [,23]  [,24]  [,25]  [,26]  [,27]  [,28] 
[1,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[2,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[3,] 9.972027 9.000255 8.505946  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[4,] 10.272009 9.419573 8.994529 7.932493  NA  NA  NA  NA  NA  NA  NA  NA  NA 
[5,] 10.628849 10.142518 9.572304 7.610474 7.093811  NA  NA  NA  NA  NA  NA  NA  NA 
[6,] 11.986533 10.561038 9.107557 7.679234 7.233490 6.787747  NA  NA  NA  NA  NA  NA  NA 
[7,] 11.888592 10.371188 8.979108 7.879674 7.373170 6.927426 6.481682  NA  NA  NA  NA  NA  NA 
[8,] 11.697496 10.298497 8.925107 8.216355 7.559136 7.067105 6.621361 6.208683  NA  NA  NA  NA  NA 
[9,] 11.625176 10.378138 9.262446 8.553036 7.895817 7.238597 6.761041 6.315297  NA  NA  NA  NA  NA 
[10,] 11.495688 10.340829 9.599784 8.889718 8.232498 7.575279 6.918059 6.454976 6.009232  NA  NA  NA  NA 
[11,] 11.434992 10.672104 9.937123 9.226399 8.569180 7.911960 7.254741 6.597521 6.148912 5.703168  NA  NA  NA 
[12,] 11.229570 11.003378 10.274462 9.563080 8.905861 8.248641 7.591422 6.934203 6.288591 5.842847 5.397103  NA  NA 
[13,] 11.124544 11.334652 10.611801 9.899762 9.242542 8.585323 7.928103 7.270884 6.613664 5.982527 5.536783 5.138636  NA 
[14,] 11.656609 11.665927 10.949140 10.236443 9.579223 8.922004 8.264785 7.607565 6.950346 6.293126 5.676462 5.230718 4.904737 
[15,] 12.188674 11.997201 11.286479 10.573124 9.915905 9.258685 8.601466 7.944246 7.287027 6.629808 5.972588 5.370398 4.924654 
[16,] 12.720738 12.328475 11.621555 10.909806 10.252586 9.595367 8.938147 8.280928 7.623708 6.966489 6.309269 5.652050 5.064333 
[17,] 13.252803 12.659750 11.952829 11.246487 10.589267 9.932048 9.274829 8.617609 7.960390 7.303170 6.645951 5.988731 5.331512 
[18,] 14.017727 12.991024 12.284103 11.583168 10.925949 10.268729 9.611510 8.954290 8.297071 7.639851 6.982632 6.325413 5.668193 
[19,] 14.196394 13.838348 12.615378 11.919849 11.262630 10.605411 9.948191 9.290972 8.633752 7.976533 7.319313 6.662094 6.004874 
[20,] 14.370035 14.310887 13.427372 12.416445 11.599311 10.942092 10.284872 9.627653 8.970434 8.313214 7.655995 6.998775 6.341556 
[21,] 15.695481 15.142743 13.795384 13.002303 12.455859 11.568308 10.680758 9.964334 9.307115 8.649895 7.992676 7.335456 6.678237 
[22,] 16.456171 15.552775 14.141661 13.504749 13.105627 12.491000 11.603449 10.715899 9.828349 8.986577 8.329357 7.672138 7.014918 
[23,] 16.934712 15.899248 14.641009 14.007196 13.755396 13.222379 12.526141 11.638590 10.751040 9.863489 8.975939 8.088389 7.351600 
[24,] 18.098146 14.823018 14.305684 14.509643 14.405165 13.811861 13.415789 12.561281 11.673731 10.786181 9.898630 9.011080 8.123530 
[25,] 18.896169 18.164800 17.329164 16.414607 14.662011 14.461630 13.868326 13.483973 12.596422 11.708872 10.821322 9.933771 9.046221 
[26,] 18.621266 18.439477 17.960360 17.620380 17.060328 15.719245 14.367434 14.075171 13.519114 12.631563 11.744013 10.856463 9.968912 
[27,] 18.253482 17.770501 17.001711 16.480688 16.773926 16.670537 16.265960 15.360243 14.647604 13.251814 12.396193 11.540572 10.684951 
[28,] 16.721203 17.426353 16.779299 16.247087 16.154149 16.049045 15.841822 15.546302 15.547080 13.065873 12.834513 11.985632 11.130011 
[29,] 16.981816 17.040490 16.186935 15.970621 15.994599 15.721584 15.036518 14.351451 15.037422 14.594160 13.886201 11.627806 10.995717 
[30,] 17.534112 16.770798 16.050900 15.497960 15.294562 15.091164 14.773093 14.017256 13.206314 12.931739 13.716036 13.084514 12.010938 
[31,] 16.566571 16.843269 16.322830 15.816088 15.180315 14.442201 14.130865 13.927467 13.089489 13.043633 13.654607 13.057380 11.000264 
[32,] 19.221045 16.208694 15.860814 15.791481 15.062323 14.555494 14.084018 13.567595 12.967169 12.743139 13.126719 12.833004 10.317035 
[33,]  NA  NA 16.765338 15.416288 14.906881 14.537702 13.801816 13.294901 12.823424 12.487549 11.854199 12.398868 11.924874 
[34,]  NA  NA  NA 17.321982 14.606861 14.305550 14.009046 13.277195 12.541308 12.034308 11.617390 11.860948 12.026635 
[35,]  NA  NA  NA  NA  NA 14.866276 13.861024 13.194812 12.752575 12.016688 11.280801 11.324801 11.434212 
[36,]  NA  NA  NA  NA  NA  NA 15.422920 13.416497 12.750285 12.226610 11.492068 10.721466 11.441209 
[37,]  NA  NA  NA  NA  NA  NA  NA  NA 12.967213 12.305759 11.639547 11.030140 11.264064 
[38,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 11.861233 11.195021 10.984987 
[39,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 11.416707 11.233573 
[40,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA 
      [,29]  [,30]  [,31]  [,32]  [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] 
[1,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[2,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[3,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[4,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[5,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[6,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[7,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[8,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[9,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[10,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[11,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[12,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[13,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[14,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[15,]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[16,] 4.618589  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[17,] 4.758269 4.312525  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 
[18,] 5.010974 4.452204 4.068474  NA  NA  NA  NA  NA  NA  NA  NA NA 
[19,] 5.347655 4.690436 4.146140 3.834689  NA  NA  NA  NA  NA  NA  NA NA 
[20,] 5.684336 5.027117 4.369897 3.840075 3.600790  NA  NA  NA  NA  NA  NA NA 
[21,] 6.021018 5.363798 4.706579 4.049359 3.534011  NA  NA  NA  NA  NA  NA NA 
[22,] 6.357699 5.700479 5.043260 4.386041 3.728821 3.230396  NA  NA  NA  NA  NA NA 
[23,] 6.694380 6.037161 5.379941 4.722722 4.065502 3.408283 2.998206  NA  NA  NA  NA NA 
[24,] 7.235979 6.373842 5.716623 5.059403 4.402184 3.744964 3.087745 2.764642  NA  NA  NA NA 
[25,] 8.158671 7.271120 6.383570 5.496019 4.738865 4.081646 3.424426 2.767207 2.530743  NA  NA NA 
[26,] 9.081362 8.193811 7.306261 6.418711 5.531160 4.643610 3.761107 3.103888 2.449432 2.296844  NA NA 
[27,] 9.829330 8.973709 8.118088 7.262467 6.406845 5.551224 4.678751 3.791201 2.903650 2.160129  NA NA 
[28,] 10.274390 9.418768 8.563147 7.625692 6.544549 5.463407 4.382265 3.301123 2.219981 2.936358 2.362119 NA 
[29,] 9.950485 9.184824 8.250277 7.319160 6.393031 5.356377 4.223331 2.702818 3.936342 2.967897 2.483721 NA 
[30,] 10.182827 8.018503 6.591706 6.424867 5.900775 4.966228 5.220405 3.723734 3.590249 3.456763 3.243517 NA 
[31,] 9.508168 8.016073 6.523977 5.063101 3.568153 7.207894 5.725591 4.563291 4.429806 4.296321  NA NA 
[32,] 9.269526 7.777430 6.285335 5.223145 6.372415 7.671605 6.315327 5.402849 5.269364  NA  NA NA 
[33,] 9.008944 8.117673 7.707511 8.466802 9.649717 8.224953 6.905063 6.242406  NA  NA  NA NA 
[34,] 11.611925 10.173731 9.978024 9.809090 9.650137 8.756020 7.494799 7.081964  NA  NA  NA NA 
[35,] 11.278298 10.791298 10.795251 10.460363 10.134704 9.757141 8.084535  NA  NA  NA  NA NA 
[36,] 11.332906 11.160940 10.793515 10.545474 10.130166 9.733947  NA  NA  NA  NA  NA NA 
[37,] 11.492599 11.355787 11.003180 10.726600 10.481233 9.925862  NA  NA  NA  NA  NA NA 
[38,] 11.349030 11.360750 11.217397 10.880931 10.515334  NA  NA  NA  NA  NA  NA NA 
[39,] 11.284212 11.355039 11.116186 10.880957  NA  NA  NA  NA  NA  NA  NA NA 
[40,] 11.132210  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA NA 

好像我有x和y點的網格,並針對每個X,Y數據組I具有對應的z。 我想知道是否有可能從這個列表中創建一個數據框。

我試着用下面的代碼來創建數據框。

df <- as.data.frame(do.call(rbind,jd)) 

但是,當我嘗試使用以下命令查看數據時,出現錯誤。

df 

我得到的錯誤是

> df 
Error in data.frame(V1 = c(" 438562.6", "3348038.8", "  NA", "  NA", : 
    duplicate row.names: 

的數據可以在https://www.dropbox.com/s/dbzulncdfz7pqwr/contour.csv

編輯發現:有關數據應如何解釋的思考。

我認爲數據格式看起來如下:

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30 X31 X32 X33 X34 X35 X36 X37 X38 X39 X40 
Y1                                        
Y2                                        
Y3                                        
Y4                                        
Y5                                        
Y6                                        
Y7                                        
Y8                                        
Y9                                        
Y10                                        
Y11                                        
Y12                                        
Y13                                        
Y14                                        
Y15                                        
Y16                                        
Y17                                        
Y18                                        
Y19                                        
Y20                                        
Y21                                        
Y22                                        
Y23                                        
Y24                                        
Y25                                        
Y26                                        
Y27                                        
Y28                                        
Y29                                        
Y30                                        
Y31                                        
Y32                                        
Y33                                        
Y34                                        
Y35                                        
Y36                                        
Y37                                        
Y38                                        
Y39                                        
Y40 

所以,我認爲我需要創建一個數據幀,使得我應該有1600點與X和Y數據的組合。由於我有40個X和40個Y,所以應該可以創建1600個網格點,然後所有的z點將成爲這些點的相應z。我可能是錯的。

謝謝。 Jdbaba

+0

你已經'1 * 40向量x和y'和'40 * 40矩陣z'。你可以將它們'行'或'列'綁定。可能'cbind'方便且更有意義(?):'cbind(data.frame(x = jd $ x,y = jd $ y),as.data.frame(jd $ z))' – Arun 2013-02-08 18:48:05

+0

Arun,謝謝你非常樂意爲你的答案,它顯然確實創建了一個數據框架。你能否看看我想要獲得的編輯內容。我想現在使用X和Y來創建一個1600點的網格點,以便與Z值相對應。實際上,akima軟件包將數據轉換成40 * 40個網格,並找出相應網格點的z值。如果我錯了,請糾正我。謝謝 – 2013-02-08 19:11:08

回答

3

我懷疑

data.frame(x = rep(jd$x, each = 40), y = rep(jd$y, times = 40), z = as.vector(jd$z)) 

是你所需要的。

+0

非常感謝。我認爲這正是我需要的。 – 2013-02-08 21:02:23

相關問題