#r #gis #shapefile #sf #rgdal
Вопрос:
Я пытаюсь добавить случаи рака по участкам переписи в файл формы. первое, что я сделал, это объединил два фрейма данных, чтобы создать один, чтобы у них были одинаковые данные: **
gt; head(cancercrosswalk) GEOID Dohregion 1 3.6001e 11 3.6001E 11 2 3.6001e 11 3.6001E 11 3 3.6001e 11 3.6001E 11 4 3.6001e 11 3.6001E 11 5 3.6001e 11 36001DOH0001 6 3.6001e 11 36001DOH0001
**
gt; head(cancerdata) Dohregion observed_Bladder observed_Bone observed_Brain observed_Breast observed_Colorectal observed_Esophagus observed_Kidney 1 360010001001 2 0 0 0 3 0 1 2 360010001002 0 0 0 2 2 0 2 3 360010002001 0 0 0 9 8 0 3 4 360010002002 0 0 0 4 1 1 0 5 360010003001 0 0 0 5 1 0 1 6 360010003002 0 1 0 5 4 0 1 observed_Larynx observed_Leukemias observed_Liver observed_Lung observed_Mesothelioma observed_Nasal observed_NHL observed_Oral 1 0 1 4 2 0 0 0 0 2 2 0 1 4 0 0 1 0 3 0 0 1 9 0 0 1 0 4 1 1 0 2 0 0 0 0 5 0 1 0 8 0 0 0 0 6 1 0 2 10 0 0 0 1 observed_Other observed_Ovary observed_Pancreas observed_Prostate observed_Soft_Tissue observed_Stomach observed_Testis observed_Thyroid 1 4 0 1 2 0 1 0 0 2 2 0 1 3 0 1 1 0 3 8 0 0 8 0 1 0 0 4 2 0 0 1 0 2 0 0 5 4 0 2 2 0 0 1 2 6 4 2 3 1 0 0 0 0 observed_Uterus observed_Total expected_Bladder expected_Bone expected_Brain expected_Breast expected_Colorectal expected_Esophagus 1 0 21 1.1907933 0.05341615 0.3420870 3.897930 2.031289 0.2463417 2 2 24 0.9554851 0.05899713 0.3366652 3.500111 1.758774 0.1927699 3 2 50 1.9320032 0.13779911 0.7932614 7.157767 3.546426 0.4175883 4 0 15 1.1485568 0.05037550 0.3169550 2.579577 1.723736 0.2299884 5 1 28 1.6505217 0.06077597 0.4212359 4.483157 2.712521 0.3221699 6 2 37 1.5212557 0.08610623 0.5076649 5.075406 2.677475 0.3108412 expected_Kidney expected_Larynx expected_Leukemias expected_Liver expected_Lung expected_Mesothelioma expected_Nasal expected_NHL 1 0.8905821 0.1905469 0.8392223 0.4973385 3.233132 0.04572182 0.07521876 1.1188694 2 0.7414155 0.1473305 0.7532520 0.3900473 2.514994 0.03739868 0.06902838 0.9674379 3 1.6403917 0.3318865 1.6358432 0.8733376 5.159199 0.07350316 0.15132371 2.0350425 4 0.7901266 0.1788591 0.7569305 0.4464840 2.663298 0.04506314 0.06818121 0.9699708 5 1.1308030 0.2398039 1.0923065 0.6319331 4.104686 0.06344310 0.09878849 1.4669949 6 1.1462822 0.2374476 1.1573802 0.6336747 4.020863 0.05866436 0.10255844 1.4791360 expected_Oral expected_Other expected_Ovary expected_Pancreas expected_Prostate expected_Soft_Tissue expected_Stomach expected_Testis 1 0.5471169 3.607037 0.3698598 0.7301899 3.480829 0.1789978 0.4535283 0.1234136 2 0.4535536 3.219043 0.3349575 0.5963126 2.492342 0.1730567 0.3782364 0.1275014 3 1.0024772 6.672465 0.6872987 1.1864065 6.055943 0.3869417 0.7815492 0.2915861 4 0.4925228 3.121445 0.2485737 0.6041984 3.567018 0.1644644 0.4008159 0.1312871 5 0.7020538 4.798143 0.4305209 0.9633933 4.368603 0.2317557 0.6013436 0.2123629 6 0.7053411 4.868844 0.4904034 0.9337788 4.330438 0.2583340 0.5870411 0.2042880 expected_Thyroid expected_Uterus expected_Total highlight_Bladder highlight_Bone highlight_Brain highlight_Breast highlight_Colorectal 1 1.0418115 1.0234262 26.20870 0 0 0 0 0 2 1.0829889 0.8155581 22.09726 0 0 0 0 0 3 2.4903833 1.6936861 47.13411 0 0 0 0 0 4 0.9149126 0.6301347 22.24347 0 0 0 0 0 5 1.2859511 1.1414483 33.21472 0 0 0 0 0 6 1.5214978 1.2371847 34.15191 0 0 0 0 0 highlight_Esophagus highlight_Kidney highlight_Larynx highlight_Leukemias highlight_Liver highlight_Lung highlight_Mesothelioma 1 0 0 0 0 1 1 0 2 0 0 0 0 1 1 0 3 0 0 0 0 1 1 0 4 0 0 0 0 1 1 0 5 0 0 0 0 0 0 0 6 0 0 0 0 1 1 0 highlight_Nasal highlight_NHL highlight_Oral highlight_Ovary highlight_Pancreas highlight_Prostate highlight_Soft_Tissue highlight_Stomach 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 highlight_Testis highlight_Thyroid highlight_Uterus male_pop female_pop total_pop 1 0 -1 0 471 523 994 2 0 -1 0 516 638 1154 3 0 0 0 1262 1621 2883 4 0 0 0 486 503 989 5 0 0 0 590 601 1191 6 0 0 0 794 891 1685
Затем я объединил эти два кадра данных со следующим сценарием:
cancerdatacrosswalk lt;- merge(cancercrosswalk, cancerdata, by="Dohregion")
что дало мне следующее:
gt; head(cancerdatacrosswalk) Dohregion GEOID observed_Bladder observed_Bone observed_Brain observed_Breast observed_Colorectal observed_Esophagus observed_Kidney 1 36001DOH0001 3.6001e 11 2 0 1 7 9 0 2 2 36001DOH0001 3.6001e 11 2 0 1 7 9 0 2 3 36001DOH0002 3.6001e 11 3 0 0 4 3 1 0 4 36001DOH0002 3.6001e 11 3 0 0 4 3 1 0 5 36001DOH0003 3.6001e 11 1 0 0 3 3 1 1 6 36001DOH0003 3.6001e 11 1 0 0 3 3 1 1 observed_Larynx observed_Leukemias observed_Liver observed_Lung observed_Mesothelioma observed_Nasal observed_NHL observed_Oral 1 2 0 7 10 0 0 1 1 2 2 0 7 10 0 0 1 1 3 0 0 1 3 0 0 2 0 4 0 0 1 3 0 0 2 0 5 0 2 0 4 0 0 2 1 6 0 2 0 4 0 0 2 1 observed_Other observed_Ovary observed_Pancreas observed_Prostate observed_Soft_Tissue observed_Stomach observed_Testis observed_Thyroid 1 6 0 3 4 1 0 0 3 2 6 0 3 4 1 0 0 3 3 6 0 0 5 1 0 0 0 4 6 0 0 5 1 0 0 0 5 2 0 1 6 0 0 0 3 6 2 0 1 6 0 0 0 3 observed_Uterus observed_Total expected_Bladder expected_Bone expected_Brain expected_Breast expected_Colorectal expected_Esophagus 1 1 60 1.6142981 0.10604801 0.6236729 5.908864 3.098174 0.3536228 2 1 60 1.6142981 0.10604801 0.6236729 5.908864 3.098174 0.3536228 3 2 31 1.9369476 0.54237884 1.3475544 4.834760 3.375224 0.3583970 4 2 31 1.9369476 0.54237884 1.3475544 4.834760 3.375224 0.3583970 5 3 33 0.8915422 0.06715243 0.3460775 3.231097 1.680597 0.1993447 6 3 33 0.8915422 0.06715243 0.3460775 3.231097 1.680597 0.1993447 expected_Kidney expected_Larynx expected_Leukemias expected_Liver expected_Lung expected_Mesothelioma expected_Nasal expected_NHL 1 1.3973082 0.2802778 1.3208814 0.7513557 4.202251 0.06146264 0.13492192 1.7393000 2 1.3973082 0.2802778 1.3208814 0.7513557 4.202251 0.06146264 0.13492192 1.7393000 3 1.2901389 0.2602064 2.1781671 0.7577139 4.574280 0.08588023 0.17334724 2.5207380 4 1.2901389 0.2602064 2.1781671 0.7577139 4.574280 0.08588023 0.17334724 2.5207380 5 0.7628971 0.1571715 0.7259757 0.4283296 2.398959 0.03353963 0.07268469 0.9710704 6 0.7628971 0.1571715 0.7259757 0.4283296 2.398959 0.03353963 0.07268469 0.9710704 expected_Oral expected_Other expected_Ovary expected_Pancreas expected_Prostate expected_Soft_Tissue expected_Stomach expected_Testis 1 0.8758962 5.691519 0.5668703 1.011333 4.904616 0.3175835 0.6742324 0.3279035 2 0.8758962 5.691519 0.5668703 1.011333 4.904616 0.3175835 0.6742324 0.3279035 3 0.8749945 8.421422 0.7861456 1.123232 4.505722 0.7245306 0.7389003 1.2260567 4 0.8749945 8.421422 0.7861456 1.123232 4.505722 0.7245306 0.7389003 1.2260567 5 0.4822611 3.139914 0.3211993 0.566330 2.825828 0.1789735 0.3688901 0.2054874 6 0.4822611 3.139914 0.3211993 0.566330 2.825828 0.1789735 0.3688901 0.2054874 expected_Thyroid expected_Uterus expected_Total highlight_Bladder highlight_Bone highlight_Brain highlight_Breast highlight_Colorectal 1 2.057894 1.4048219 39.42511 0 0 0 0 0 2 2.057894 1.4048219 39.42511 0 0 0 0 0 3 3.827066 1.2455196 47.70932 0 0 0 0 0 4 3.827066 1.2455196 47.70932 0 0 0 0 0 5 1.136775 0.8154357 22.00753 0 0 0 0 0 6 1.136775 0.8154357 22.00753 0 0 0 0 0 highlight_Esophagus highlight_Kidney highlight_Larynx highlight_Leukemias highlight_Liver highlight_Lung highlight_Mesothelioma 1 0 0 0 0 1 1 0 2 0 0 0 0 1 1 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 5 0 0 0 0 1 0 0 6 0 0 0 0 1 0 0 highlight_Nasal highlight_NHL highlight_Oral highlight_Ovary highlight_Pancreas highlight_Prostate highlight_Soft_Tissue highlight_Stomach 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 highlight_Testis highlight_Thyroid highlight_Uterus male_pop female_pop total_pop 1 0 0 0 1036 1150 2186 2 0 0 0 1036 1150 2186 3 0 0 0 3930 4318 8248 4 0 0 0 3930 4318 8248 5 0 0 0 587 690 1277 6 0 0 0 587 690 1277
So far so Good. Then I merged this df to a spatial df by GEOID
newcensus lt;- merge(censustracts, cancerdatacrosswalk, by="GEOID")
Но это привело к появлению NA для всех новых столбцов в пространственном файле.
gt; head(newcensus) GEOID STATEFP COUNTYFP TRACTCE NAME NAMELSAD MTFCC FUNCSTAT ALAND AWATER INTPTLAT INTPTLON Dohregion 1794 36047069601 36 047 069601 696.01 Census Tract 696.01 G5020 S 456923 47776 40.6271699 -073.9153676 lt;NAgt; 1795 36047069602 36 047 069602 696.02 Census Tract 696.02 G5020 S 688168 172866 40.6227610 -073.9092489 lt;NAgt; 1846 36047079801 36 047 079801 798.01 Census Tract 798.01 G5020 S 129680 0 40.6600109 -073.9587186 lt;NAgt; 1847 36047079802 36 047 079802 798.02 Census Tract 798.02 G5020 S 106366 0 40.6579906 -073.9613711 lt;NAgt; 1952 36047105801 36 047 105801 1058.01 Census Tract 1058.01 G5020 S 418443 0 40.6492205 -073.8805957 lt;NAgt; 2014 36047990100 36 047 990100 9901 Census Tract 9901 G5020 S 0 17793788 40.5649788 -074.0148235 lt;NAgt; observed_Bladder observed_Bone observed_Brain observed_Breast observed_Colorectal observed_Esophagus observed_Kidney observed_Larynx 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA observed_Leukemias observed_Liver observed_Lung observed_Mesothelioma observed_Nasal observed_NHL observed_Oral observed_Other 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA observed_Ovary observed_Pancreas observed_Prostate observed_Soft_Tissue observed_Stomach observed_Testis observed_Thyroid observed_Uterus 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA observed_Total expected_Bladder expected_Bone expected_Brain expected_Breast expected_Colorectal expected_Esophagus expected_Kidney 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA expected_Larynx expected_Leukemias expected_Liver expected_Lung expected_Mesothelioma expected_Nasal expected_NHL expected_Oral 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA expected_Other expected_Ovary expected_Pancreas expected_Prostate expected_Soft_Tissue expected_Stomach expected_Testis expected_Thyroid 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA expected_Uterus expected_Total highlight_Bladder highlight_Bone highlight_Brain highlight_Breast highlight_Colorectal highlight_Esophagus 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA NA NA NA 1847 NA NA NA NA NA NA NA NA 1952 NA NA NA NA NA NA NA NA 2014 NA NA NA NA NA NA NA NA highlight_Kidney highlight_Larynx highlight_Leukemias highlight_Liver highlight_Lung highlight_Mesothelioma highlight_Nasal highlight_NHL 1794 NA NA NA NA NA NA NA NA 1795 NA NA NA NA NA NA NA NA 1846 NA NA NA NA NA
Есть ли у меня способ ввести значения в файл пространственных данных? пожалуйста, посоветуйте
ПРАВКА: Я заметил проблему с научной нотацией, я исправил ее там, где были целые числа, но проблема сохраняется.
Комментарии:
1. Добро пожаловать в StackOverflow. Получение всех этих NAs обычно происходит, если переменные by не совпадают. Можете ли вы проверить, действительно ли они точно совпадают?
cancercrosswalk$GEOID == censustracts$GEOID
2. Привет, Элин, я пробежал эту строку и получил в ответ кучу лжи. Затем я сделал следующее:
intersect(censustracts$GEOID, cancerdatacrosswalk$GEOID) numeric(0)
я получил цифру 0. Я не понимаю, у них обоих ГЕОИД один и тот же.3. Они могут казаться одинаковыми при печати, но на самом деле это не так. Возможно, в одном из них есть какое-то усечение. Возможно, попробуйте преобразовать в целые числа или даже строки (поскольку они являются идентификаторами)?
4. все переменные из (cancerdatacrosswalk) являются целыми числами, за исключением DOHREGION, который является символом
5. Я спросил только о ГЕОИДЕ в двух кадрах данных, так как это то, что не совпадает.