首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Row_wise和column_wise填充NA正在使用填充和向下/跨

Row_wise和column_wise填充NA正在使用填充和向下/跨
EN

Stack Overflow用户
提问于 2022-05-19 10:42:42
回答 2查看 47关注 0票数 2

我有以下数据,我正在努力“清理”它。我想做三件事:

    1. Fill NA's在列...2中有一些东西,like:

代码语言:javascript
复制
    Andalucía Almería
    
    Andalucía Cadiz
    
    Andalucía Cordoba
    
    Andalucía Granada
    
    Andalucía Huelva
    
    ...
    
    Aragón Huesca
    
    Aragón Teruel
    
    Aragón Zaragoza
    
    Asturias Asturias
    ...

  • So,group_by和fill往下。

    1. Do完全相同,但row_wise()

    1. Once NA的填充将两行粘贴在一起(以及两列在一起),例如as:

代码语言:javascript
复制
Andalucía_Almería

Andalucía_Cadiz

Andalucía_Cordoba

Andalucía_Granada

等。

因此,观测结果被压缩成一列和一行。

数据

代码语言:javascript
复制
df <- structure(list(...2 = c(NA, NA, "España", "Andalucía", NA, 
NA, NA, NA, NA, NA, NA, "Aragón", NA, NA, "Asturias", "Baleares (Islas)", 
"Canarias", NA, "Cantabria", "Castilla y León", NA, NA, NA, 
NA, NA, NA, NA, NA, "Castilla La Mancha", NA, NA, NA, NA, "Cataluña", 
NA, NA, NA, "Comunidad Valenciana", NA, NA, "Extremadura", NA, 
"Galicia", NA, NA, NA, "Madrid (Comunidad de)", "Murcia (Región de)", 
"Navarra (Comunidad Foral de)", "País Vasco", NA, NA, "Rioja (La)", 
"Ceuta y Melilla", NA), ...3 = c(NA, NA, NA, "Almería", "Cádiz", 
"Córdoba", "Granada", "Huelva", "Jaén", "Málaga", "Sevilla", 
"Huesca", "Teruel", "Zaragoza", "Asturias", "Baleares", "Palmas_(Las)", 
"Tenerife", "Cantabria", "Avila", "Burgos", "León", "Palencia", 
"Salamanca", "Segovia", "Soria", "Valladolid", "Zamora", "Albacete", 
"Ciudad_Real", "Cuenca", "Guadalajara", "Toledo", "Barcelona", 
"Girona", "Lleida", "Tarragona", "Alicante", "Castellón", "Valencia", 
"Badajoz", "Cáceres", "Coruña", "Lugo", "Ourense", "Pontevedra", 
"Madrid", "Murcia", "Navarra", "Alava", "Guipúzcoa", "Vizcaya", 
"Rioja_(La)", "Ceuta", "Melilla"), ...4 = c("España", NA, "222295", 
"5200", "6331", "3285", "4750", "3039", "2969", "9914", "9450", 
"1622", "658", "4127", "5046", "5262", "5248", "4614", "3360", 
"1178", "2434", "2540", "808", "1710", "721", "502", "2470", 
"789", "1818", "2688", "845", "1581", "4014", "21587", "4643", 
"2455", "5364", "13776", "4539", "13802", "2607", "1821", "4383", 
"1172", "977", "2759", "22573", "8500", "2420", "1486", "2004", 
"3969", "1840", "249", "396"), ...5 = c("Andalucía", "Almería", 
"4432", "4303", "2", "2", "49", "0", "5", "9", "4", "0", "0", 
"0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", 
"0", "0", "3", "0", "0", "0", "0", "0", "1", "0", "1", "7", "1", 
"2", "1", "1", "1", "0", "0", "0", "10", "27", "0", "0", "0", 
"0", "0", "0", "1"), ...6 = c(NA, "Cádiz", "5622", "4", "5357", 
"4", "14", "6", "3", "86", "82", "1", "0", "0", "2", "4", "2", 
"1", "2", "0", "3", "1", "0", "3", "0", "0", "1", "0", "0", "4", 
"0", "0", "0", "3", "0", "0", "1", "2", "1", "2", "1", "0", "2", 
"0", "3", "1", "13", "9", "0", "1", "0", "0", "1", "2", "0"), 
    ...7 = c(NA, "Córdoba", "3463", "20", "25", "3019", "24", 
    "20", "17", "270", "18", "0", "0", "0", "1", "2", "2", "1", 
    "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "1", "5", 
    "0", "1", "5", "1", "0", "0", "1", "4", "0", "1", "8", "0", 
    "1", "0", "0", "0", "14", "1", "0", "0", "0", "0", "0", "0", 
    "0"), ...8 = c(NA, "Granada", "4394", "118", "6", "6", "4067", 
    "3", "28", "100", "8", "0", "0", "1", "0", "2", "1", "0", 
    "0", "0", "1", "1", "1", "1", "0", "0", "0", "0", "0", "7", 
    "0", "0", "2", "3", "5", "0", "1", "5", "4", "0", "0", "0", 
    "2", "0", "0", "0", "7", "14", "0", "0", "0", "0", "0", "0", 
    "0"), ...9 = c(NA, "Huelva", "2609", "0", "11", "0", "1", 
    "2502", "1", "6", "56", "0", "0", "0", "0", "0", "1", "0", 
    "0", "1", "0", "0", "1", "0", "0", "0", "0", "0", "0", "2", 
    "0", "0", "0", "0", "0", "0", "0", "1", "0", "1", "15", "0", 
    "0", "1", "0", "1", "3", "1", "2", "0", "0", "1", "0", "0", 
    "1"), ...10 = c(NA, "Jaén", "3028", "123", "11", "18", "74", 
    "0", "2642", "83", "14", "0", "0", "0", "0", "1", "1", "0", 
    "1", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "6", 
    "0", "0", "1", "1", "3", "0", "0", "11", "6", "5", "0", "0", 
    "2", "0", "0", "0", "16", "6", "1", "0", "0", "0", "0", "1", 
    "0"), ...11 = c(NA, "Málaga", "8862", "24", "77", "36", 
    "100", "7", "21", "8405", "42", "0", "0", "0", "6", "4", 
    "4", "8", "3", "2", "3", "1", "0", "2", "0", "0", "0", "0", 
    "3", "3", "0", "2", "4", "3", "1", "1", "0", "35", "2", "3", 
    "8", "2", "3", "4", "0", "0", "25", "11", "0", "0", "0", 
    "1", "0", "1", "5"), ...12 = c(NA, "Sevilla", "10210", "25", 
    "447", "34", "32", "316", "14", "197", "8975", "0", "0", 
    "2", "3", "0", "6", "1", "3", "4", "2", "3", "0", "3", "3", 
    "1", "2", "3", "0", "9", "0", "2", "1", "2", "0", "1", "1", 
    "7", "5", "5", "52", "5", "1", "0", "1", "6", "25", "5", 
    "0", "1", "2", "1", "2", "0", "0"), ...13 = c("Aragón", 
    "Huesca", "991", "1", "1", "1", "2", "0", "0", "1", "0", 
    "897", "1", "34", "1", "0", "0", "1", "0", "0", "1", "0", 
    "0", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "6", 
    "0", "6", "15", "0", "9", "2", "1", "0", "0", "0", "0", "0", 
    "4", "1", "1", "0", "0", "0", "3", "0", "0"), ...14 = c(NA, 
    "Teruel", "524", "1", "0", "0", "3", "0", "0", "0", "0", 
    "5", "417", "27", "0", "0", "0", "1", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "3", 
    "1", "2", "2", "1", "20", "37", "0", "0", "0", "0", "0", 
    "0", "3", "0", "0", "0", "0", "0", "0", "0", "0"), ...15 = c(NA, 
    "Zaragoza", "4652", "4", "4", "0", "3", "2", "4", "12", "1", 
    "264", "38", "3859", "5", "4", "2", "5", "10", "2", "3", 
    "0", "1", "5", "2", "30", "0", "1", "3", "1", "0", "2", "0", 
    "6", "6", "10", "100", "34", "134", "20", "0", "2", "3", 
    "2", "2", "1", "30", "1", "22", "1", "1", "0", "10", "0", 
    "0"), ...16 = c("Asturias", NA, "4709", "1", "0", "3", "2", 
    "0", "0", "5", "2", "1", "0", "1", "4446", "4", "2", "8", 
    "12", "3", "2", "87", "2", "7", "1", "0", "4", "6", "0", 
    "1", "1", "1", "3", "0", "2", "2", "0", "15", "0", "1", "1", 
    "2", "7", "28", "3", "6", "31", "3", "1", "1", "0", "1", 
    "0", "0", "0"), ...17 = c("Baleares", "Baleares", "5047", 
    "9", "8", "8", "25", "0", "8", "5", "7", "2", "1", "2", "21", 
    "4776", "26", "10", "2", "0", "3", "4", "4", "2", "0", "0", 
    "3", "3", "4", "7", "1", "0", "3", "23", "0", "1", "2", "8", 
    "3", "7", "4", "1", "11", "4", "2", "5", "13", "13", "0", 
    "0", "1", "1", "3", "0", "1"), ...18 = c("Canarias", "Palmas (Las)", 
    "5047", "0", "9", "3", "3", "2", "3", "5", "2", "0", "0", 
    "2", "3", "3", "4883", "44", "4", "1", "0", "1", "0", "2", 
    "0", "0", "13", "0", "0", "0", "0", "3", "1", "5", "0", "0", 
    "2", "1", "0", "3", "2", "2", "9", "0", "1", "5", "21", "3", 
    "0", "0", "0", "0", "1", "0", "5"), ...19 = c(NA, "Tenerife", 
    "4585", "4", "0", "3", "3", "1", "1", "4", "1", "0", "0", 
    "1", "5", "3", "112", "4408", "2", "1", "0", "2", "1", "0", 
    "0", "1", "0", "0", "0", "0", "0", "0", "1", "2", "0", "1", 
    "0", "6", "2", "0", "1", "1", "0", "0", "2", "3", "9", "1", 
    "0", "0", "1", "1", "0", "0", "1"), ...20 = c("Cantabria", 
    "Cantabria", "2742", "4", "2", "0", "3", "0", "1", "5", "5", 
    "1", "0", "1", "31", "3", "6", "2", "2571", "0", "19", "2", 
    "15", "1", "0", "0", "2", "1", "0", "3", "0", "1", "2", "2", 
    "0", "0", "1", "5", "3", "4", "1", "1", "2", "0", "0", "0", 
    "18", "3", "1", "0", "0", "18", "2", "0", "0"), ...21 = c("Castilla y León", 
    "Avila", "748", "0", "1", "0", "0", "0", "0", "3", "0", "0", 
    "0", "0", "5", "1", "0", "0", "2", "665", "2", "0", "0", 
    "13", "1", "0", "1", "0", "0", "0", "0", "0", "3", "0", "0", 
    "0", "0", "10", "0", "1", "2", "4", "2", "0", "0", "0", "31", 
    "1", "0", "0", "0", "0", "0", "0", "0"), ...22 = c(NA, "Burgos", 
    "2237", "2", "7", "0", "0", "0", "1", "6", "1", "4", "0", 
    "1", "20", "18", "3", "1", "44", "3", "2020", "2", "11", 
    "2", "1", "5", "6", "0", "0", "1", "0", "0", "1", "0", "0", 
    "0", "1", "18", "9", "6", "0", "0", "2", "2", "1", "0", "15", 
    "3", "2", "9", "1", "4", "4", "0", "0"), ...23 = c(NA, "León", 
    "2389", "1", "3", "0", "2", "0", "0", "8", "1", "0", "0", 
    "1", "29", "1", "4", "3", "2", "1", "1", "2211", "1", "8", 
    "1", "0", "4", "6", "0", "1", "0", "0", "1", "3", "0", "0", 
    "1", "38", "1", "2", "1", "0", "9", "9", "3", "9", "20", 
    "2", "0", "0", "0", "1", "0", "0", "0"), ...24 = c(NA, "Palencia", 
    "745", "0", "0", "0", "0", "1", "0", "4", "0", "0", "0", 
    "0", "5", "0", "1", "0", "33", "0", "3", "0", "661", "1", 
    "0", "0", "8", "0", "0", "1", "0", "3", "0", "0", "1", "0", 
    "0", "3", "1", "4", "0", "1", "4", "0", "0", "0", "8", "1", 
    "0", "0", "0", "1", "0", "0", "0"), ...25 = c(NA, "Salamanca", 
    "1530", "1", "6", "0", "1", "1", "0", "7", "2", "0", "0", 
    "1", "8", "0", "6", "3", "6", "9", "3", "1", "1", "1415", 
    "1", "2", "9", "4", "0", "0", "0", "0", "3", "0", "0", "0", 
    "0", "5", "1", "0", "1", "4", "2", "1", "0", "2", "15", "7", 
    "0", "0", "0", "0", "1", "1", "0"), ...26 = c(NA, "Segovia", 
    "526", "1", "1", "0", "0", "0", "0", "0", "1", "0", "0", 
    "0", "1", "0", "1", "0", "2", "4", "5", "0", "0", "0", "438", 
    "4", "17", "1", "0", "2", "0", "0", "1", "1", "0", "0", "0", 
    "8", "4", "2", "0", "2", "2", "0", "0", "0", "25", "2", "0", 
    "0", "0", "1", "0", "0", "0"), ...27 = c(NA, "Soria", "381", 
    "0", "0", "1", "0", "0", "0", "0", "0", "0", "2", "8", "0", 
    "0", "0", "0", "0", "0", "1", "1", "0", "0", "1", "346", 
    "0", "0", "0", "0", "0", "0", "0", "1", "0", "1", "0", "3", 
    "2", "3", "1", "0", "1", "0", "0", "0", "6", "0", "0", "0", 
    "0", "0", "3", "0", "0"), ...28 = c(NA, "Valladolid", "2549", 
    "2", "3", "0", "2", "4", "0", "5", "2", "3", "0", "0", "11", 
    "0", "2", "8", "40", "7", "15", "19", "27", "5", "5", "0", 
    "2254", "22", "0", "3", "0", "0", "2", "0", "0", "1", "1", 
    "29", "4", "2", "0", "1", "25", "3", "2", "2", "27", "6", 
    "2", "1", "1", "0", "1", "0", "0"), ...29 = c(NA, "Zamora", 
    "714", "2", "0", "0", "0", "0", "0", "2", "1", "0", "0", 
    "0", "6", "0", "0", "0", "2", "0", "0", "4", "2", "17", "0", 
    "0", "12", "636", "0", "1", "0", "0", "0", "0", "0", "0", 
    "0", "7", "0", "1", "1", "2", "1", "2", "0", "6", "9", "0", 
    "0", "0", "0", "0", "0", "0", "0"), ...30 = c("Castilla La Mancha", 
    "Albacete", "1763", "3", "1", "0", "6", "0", "1", "0", "1", 
    "0", "0", "1", "0", "1", "1", "1", "0", "0", "0", "0", "0", 
    "1", "0", "1", "1", "0", "1602", "3", "10", "1", "3", "0", 
    "0", "1", "0", "70", "9", "6", "1", "0", "0", "0", "0", "0", 
    "9", "28", "1", "0", "0", "0", "0", "0", "0"), ...31 = c(NA, 
    "Ciudad_Real", "2357", "6", "3", "4", "7", "1", "2", "17", 
    "0", "0", "0", "0", "2", "0", "0", "0", "0", "1", "1", "3", 
    "1", "1", "1", "0", "1", "0", "4", "2191", "3", "1", "12", 
    "0", "0", "0", "0", "33", "1", "2", "5", "1", "0", "2", "2", 
    "0", "40", "7", "0", "0", "0", "0", "1", "0", "1"), ...32 = c(NA, 
    "Cuenca", "737", "0", "0", "0", "0", "1", "0", "0", "1", 
    "0", "0", "0", "2", "0", "0", "0", "0", "0", "0", "0", "0", 
    "1", "0", "0", "0", "0", "28", "15", "607", "13", "9", "0", 
    "0", "0", "0", "13", "9", "11", "0", "0", "1", "0", "0", 
    "0", "22", "3", "0", "0", "0", "0", "1", "0", "0"), ...33 = c(NA, 
    "Guadalajara", "1098", "13", "4", "1", "1", "1", "2", "4", 
    "0", "0", "1", "1", "3", "0", "2", "4", "0", "2", "0", "0", 
    "0", "2", "2", "2", "0", "0", "1", "3", "1", "936", "1", 
    "3", "1", "0", "0", "23", "8", "10", "1", "3", "1", "2", 
    "0", "0", "57", "1", "0", "0", "0", "0", "1", "0", "0"), 
    ...34 = c(NA, "Toledo", "2802", "7", "3", "4", "5", "0", 
    "2", "11", "1", "0", "0", "2", "11", "3", "1", "0", "2", 
    "10", "0", "1", "0", "1", "1", "0", "0", "1", "0", "43", 
    "7", "1", "2412", "1", "0", "0", "1", "80", "16", "14", "12", 
    "18", "2", "0", "0", "0", "118", "10", "1", "0", "0", "0", 
    "0", "0", "0"), ...35 = c("Cataluña", "Barcelona", "25887", 
    "109", "38", "63", "94", "24", "69", "62", "70", "106", "66", 
    "69", "27", "200", "32", "24", "15", "10", "20", "36", "10", 
    "12", "8", "22", "9", "13", "18", "48", "17", "14", "9", 
    "21178", "1125", "374", "1204", "69", "145", "93", "68", 
    "18", "17", "43", "24", "17", "78", "91", "7", "2", "2", 
    "6", "12", "0", "0"), ...36 = c(NA, "Girona", "3659", "2", 
    "2", "4", "2", "1", "6", "7", "0", "5", "2", "5", "1", "5", 
    "7", "1", "2", "0", "0", "1", "0", "4", "0", "3", "2", "0", 
    "0", "1", "4", "2", "0", "91", "3435", "9", "15", "5", "3", 
    "3", "5", "6", "1", "1", "2", "2", "2", "7", "1", "0", "0", 
    "0", "1", "0", "1"), ...37 = c(NA, "Lleida", "2142", "0", 
    "2", "1", "1", "1", "2", "2", "0", "24", "1", "3", "0", "2", 
    "0", "1", "0", "1", "0", "0", "0", "0", "0", "1", "0", "0", 
    "0", "0", "0", "1", "0", "46", "7", "1951", "69", "2", "3", 
    "3", "2", "0", "4", "1", "1", "6", "1", "2", "0", "0", "0", 
    "0", "1", "0", "0"), ...38 = c(NA, "Tarragona", "4154", "3", 
    "3", "7", "7", "0", "9", "2", "2", "20", "10", "12", "7", 
    "3", "3", "6", "5", "1", "0", "1", "1", "1", "0", "1", "0", 
    "0", "1", "4", "2", "0", "6", "58", "34", "37", "3845", "3", 
    "26", "5", "5", "2", "6", "0", "2", "2", "3", "4", "2", "0", 
    "0", "0", "3", "0", "0"), ...39 = c("Comunidad Valenciana", 
    "Alicante", "11850", "22", "2", "6", "34", "0", "15", "10", 
    "3", "2", "2", "3", "11", "7", "3", "1", "3", "2", "3", "5", 
    "0", "1", "1", "1", "1", "2", "34", "16", "5", "2", "6", 
    "3", "0", "1", "2", "11337", "10", "53", "5", "1", "14", 
    "1", "1", "1", "26", "188", "1", "0", "0", "2", "1", "0", 
    "0"), ...40 = c(NA, "Castellón", "3462", "2", "0", "1", 
    "3", "0", "2", "0", "1", "2", "7", "1", "0", "6", "0", "2", 
    "0", "1", "2", "0", "0", "0", "0", "1", "0", "0", "4", "1", 
    "2", "0", "1", "3", "3", "6", "16", "2", "3346", "40", "2", 
    "0", "0", "0", "0", "0", "1", "3", "0", "0", "0", "0", "0", 
    "0", "1"), ...41 = c(NA, "Valencia", "14330", "21", "8", 
    "6", "6", "1", "18", "8", "4", "12", "106", "4", "8", "47", 
    "4", "2", "4", "2", "0", "1", "1", "2", "1", "0", "1", "0", 
    "59", "16", "42", "3", "7", "7", "1", "10", "3", "396", "356", 
    "13080", "4", "2", "9", "0", "1", "1", "36", "25", "0", "1", 
    "1", "1", "1", "1", "0"), ...42 = c("Extremadura", "Badajoz", 
    "2415", "1", "13", "4", "2", "50", "3", "26", "16", "0", 
    "0", "1", "2", "0", "3", "0", "0", "0", "0", "0", "0", "4", 
    "1", "0", "0", "1", "0", "6", "0", "0", "3", "1", "0", "0", 
    "2", "3", "1", "2", "2213", "35", "3", "0", "0", "0", "16", 
    "0", "1", "0", "1", "1", "0", "0", "0"), ...43 = c(NA, "Cáceres", 
    "1669", "0", "4", "2", "1", "13", "2", "11", "4", "0", "0", 
    "1", "1", "2", "1", "0", "1", "1", "0", "1", "0", "23", "0", 
    "0", "1", "10", "0", "4", "0", "0", "8", "0", "0", "0", "0", 
    "3", "2", "2", "36", "1502", "2", "0", "1", "1", "21", "6", 
    "0", "0", "0", "2", "0", "0", "0"), ...44 = c("Galicia", 
    "Coruña", "3997", "3", "3", "0", "2", "0", "1", "2", "2", 
    "1", "0", "0", "14", "5", "13", "8", "1", "2", "0", "6", 
    "0", "0", "0", "1", "0", "1", "0", "0", "0", "0", "3", "4", 
    "0", "0", "1", "16", "3", "0", "0", "0", "3764", "39", "13", 
    "59", "17", "9", "0", "0", "0", "0", "3", "0", "1"), ...45 = c(NA, 
    "Lugo", "1021", "0", "0", "0", "0", "0", "0", "1", "0", "0", 
    "0", "0", "3", "0", "0", "0", "1", "0", "0", "1", "1", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "1", "1", "0", "0", "0", "0", "55", "920", "3", "23", "3", 
    "7", "0", "0", "1", "0", "0", "0", "0"), ...46 = c(NA, "Ourense", 
    "968", "0", "0", "0", "0", "0", "0", "2", "0", "0", "0", 
    "0", "0", "0", "1", "0", "0", "0", "0", "6", "0", "0", "0", 
    "0", "0", "3", "0", "0", "0", "1", "0", "1", "1", "0", "2", 
    "2", "1", "0", "0", "0", "36", "5", "843", "56", "8", "0", 
    "0", "0", "0", "0", "0", "0", "0"), ...47 = c(NA, "Pontevedra", 
    "2612", "3", "0", "0", "2", "1", "1", "2", "2", "0", "0", 
    "1", "3", "3", "20", "8", "1", "0", "0", "0", "1", "2", "0", 
    "0", "0", "2", "0", "0", "0", "0", "0", "1", "0", "0", "0", 
    "10", "2", "1", "0", "0", "70", "3", "30", "2431", "9", "1", 
    "0", "0", "0", "2", "0", "0", "0"), ...48 = c("Madrid", NA, 
    "30307", "263", "200", "40", "117", "63", "68", "395", "106", 
    "59", "3", "50", "266", "134", "61", "32", "178", "435", 
    "60", "102", "27", "108", "247", "65", "97", "49", "27", 
    "268", "142", "584", "1484", "98", "13", "16", "39", "1056", 
    "291", "337", "130", "184", "222", "78", "21", "87", "21606", 
    "300", "52", "3", "9", "16", "17", "1", "1"), ...49 = c("Murcia", 
    "Murcia", "8096", "66", "4", "0", "18", "0", "8", "12", "1", 
    "2", "0", "1", "4", "3", "1", "0", "1", "1", "0", "0", "0", 
    "2", "0", "0", "1", "0", "25", "3", "0", "2", "4", "5", "0", 
    "2", "0", "226", "1", "8", "0", "0", "2", "2", "0", "3", 
    "19", "7668", "1", "0", "0", "0", "0", "0", "0"), ...50 = c("Navarra", 
    "Navarra", "2531", "3", "6", "1", "1", "4", "3", "19", "0", 
    "45", "0", "18", "10", "5", "0", "5", "10", "0", "5", "1", 
    "2", "4", "0", "2", "1", "0", "0", "4", "1", "0", "3", "6", 
    "0", "2", "17", "25", "26", "2", "3", "1", "7", "1", "1", 
    "1", "14", "5", "2229", "1", "7", "3", "27", "0", "0"), ...51 = c("País Vasco", 
    "Alava", "1721", "1", "6", "0", "2", "0", "0", "7", "0", 
    "4", "1", "1", "4", "0", "6", "3", "28", "1", "33", "10", 
    "3", "6", "0", "0", "2", "5", "0", "0", "0", "0", "1", "2", 
    "0", "1", "3", "24", "11", "2", "1", "5", "7", "2", "2", 
    "3", "9", "1", "9", "1426", "12", "14", "63", "0", "0"), 
    ...52 = c(NA, "Guipúzcoa", "2570", "2", "10", "0", "4", 
    "2", "2", "7", "3", "127", "0", "3", "8", "2", "11", "2", 
    "20", "2", "12", "11", "14", "25", "2", "7", "7", "3", "0", 
    "2", "0", "1", "0", "2", "0", "10", "6", "36", "20", "3", 
    "7", "2", "35", "5", "4", "6", "14", "3", "62", "5", "1942", 
    "17", "102", "0", "0"), ...53 = c(NA, "Vizcaya", "5097", 
    "14", "17", "1", "14", "8", "4", "41", "4", "31", "0", "4", 
    "45", "5", "11", "7", "328", "2", "204", "13", "18", "22", 
    "2", "4", "6", "16", "1", "0", "0", "4", "4", "10", "3", 
    "9", "3", "60", "27", "9", "4", "9", "28", "11", "6", "13", 
    "32", "9", "9", "14", "21", "3873", "117", "0", "0"), ...54 = c("Rioja (La)", 
    "Rioja (La)", "1591", "1", "4", "0", "1", "1", "0", "1", 
    "1", "4", "0", "5", "3", "3", "1", "1", "19", "0", "7", "1", 
    "0", "0", "0", "0", "3", "0", "0", "0", "0", "0", "0", "2", 
    "0", "0", "5", "18", "5", "1", "0", "1", "3", "0", "0", "0", 
    "8", "0", "12", "20", "1", "1", "1458", "0", "0"), ...55 = c("Ceuta y Melilla", 
    "Ceuta", "292", "0", "17", "2", "5", "2", "0", "11", "3", 
    "0", "0", "0", "1", "0", "0", "1", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", 
    "0", "0", "0", "2", "0", "2", "0", "0", "0", "0", "0", "3", 
    "0", "0", "0", "0", "0", "0", "242", "0"), ...56 = c(NA, 
    "Melilla", "431", "5", "0", "0", "5", "0", "0", "26", "0", 
    "0", "0", "0", "0", "0", "1", "0", "0", "1", "0", "0", "0", 
    "0", "1", "0", "1", "0", "0", "1", "0", "0", "3", "0", "0", 
    "0", "0", "0", "3", "1", "0", "0", "2", "0", "0", "0", "3", 
    "1", "0", "0", "0", "0", "0", "0", "377"), ...57 = c(NA, 
    NA, 183, 0, 0, 0, 11, 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 
    0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 27, 0, 0, 0, 0, 0, 0, 
    0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 134)), row.names = c(NA, 
-55L), class = c("tbl_df", "tbl", "data.frame"))

编辑:

预期产出:

将有一个数据框架/矩阵,其中行名是左边的项,列名是顶部的项。

数据看上去如下:

代码语言:javascript
复制
# A tibble: 55 × 56
   ...2   ...3  ...4  ...5  ...6  ...7  ...8  ...9  ...10 ...11 ...12 ...13 ...14 ...15 ...16 ...17 ...18 ...19 ...20 ...21 ...22 ...23 ...24 ...25 ...26 ...27 ...28 ...29 ...30 ...31
   <chr>  <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
 1 NA     NA    Espa… Anda… NA    NA    NA    NA    NA    NA    NA    Arag… NA    NA    Astu… Bale… Cana… NA    Cant… Cast… NA    NA    NA    NA    NA    NA    NA    NA    Cast… NA   
 2 NA     NA    NA    Alme… Cádiz Córd… Gran… Huel… Jaén  Mála… Sevi… Hues… Teru… Zara… NA    Bale… Palm… Tene… Cant… Avila Burg… León  Pale… Sala… Sego… Soria Vall… Zamo… Alba… Ciud…
 3 España NA    2222… 4432  5622  3463  4394  2609  3028  8862  10210 991   524   4652  4709  5047  5047  4585  2742  748   2237  2389  745   1530  526   381   2549  714   1763  2357 
 4 Andal… Alme… 5200  4303  4     20    118   0     123   24    25    1     1     4     1     9     0     4     4     0     2     1     0     1     1     0     2     2     3     6    
 5 NA     Cádiz 6331  2     5357  25    6     11    11    77    447   1     0     4     0     8     9     0     2     1     7     3     0     6     1     0     3     0     1     3    
 6 NA     Córd… 3285  2     4     3019  6     0     18    36    34    1     0     0     3     8     3     3     0     0     0     0     0     0     0     1     0     0     0     4    
 7 NA     Gran… 4750  49    14    24    4067  1     74    100   32    2     3     3     2     25    3     3     3     0     0     2     0     1     0     0     2     0     6     7    
 8 NA     Huel… 3039  0     6     20    3     2502  0     7     316   0     0     2     0     0     2     1     0     0     0     0     1     1     0     0     4     0     0     1    
 9 NA     Jaén  2969  5     3     17    28    1     2642  21    14    0     0     4     0     8     3     1     1     0     1     0     0     0     0     0     0     0     1     2    
10 NA     Mála… 9914  9     86    270   100   6     83    8405  197   1     0     12    5     5     5     4     5     3     6     8     4     7     0     0     5     2     0     17   
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-19 15:38:33

这可以以一种更紧凑的方式完成--即使用unite中的NA删除NA,然后将行转换为列名,而不是双transpose,只需将行作为非NA返回第一个观察结果。

代码语言:javascript
复制
library(dplyr)
library(tidyr)
library(tibble)
out <- df %>% 
  fill(`...2`, .direction = c("down")) %>%   
  unite(col = "CCAA", c(1, 2), na.rm = TRUE) %>% 
  mutate(across(-CCAA, ~ .x[order(is.na(.x))])) %>% 
  janitor::row_to_names(1) %>%
  setNames(c("CCAA", .[[1]][-1])) %>%
  column_to_rownames("CCAA") %>% 
  type.convert(as.is = TRUE)

-output

代码语言:javascript
复制
> head(out)
                  España Andalucía_Almería Andalucía_Cádiz Andalucía_Córdoba Andalucía_Granada Andalucía_Huelva
                  222295           Almería            5622              3463              4394             2609
España              5200              4432               4                20               118                0
Andalucía_Almería   6331              4303            5357                25                 6               11
Andalucía_Cádiz     3285                 2               4              3019                 6                0
Andalucía_Córdoba   4750                 2              14                24              4067                1
Andalucía_Granada   3039                49               6                20                 3             2502
                  Andalucía_Jaén Andalucía_Málaga Andalucía_Sevilla Aragón_Huesca Aragón_Teruel Aragón_Zaragoza
                            3028             8862             10210        Huesca           524            4652
España                       123               24                25           991             1               4
Andalucía_Almería             11               77               447             1             0               4
Andalucía_Cádiz               18               36                34             1             0               0
Andalucía_Córdoba             74              100                32             1             3               3
Andalucía_Granada              0                7               316             2             0               2
                  Asturias_Asturias Baleares (Islas)_Baleares Canarias_Palmas_(Las) Canarias_Tenerife
                               4709                  Baleares          Palmas (Las)              4585
España                            1                      5047                  5047                 4
Andalucía_Almería                 0                         9                     0                 0
Andalucía_Cádiz                   3                         8                     9                 3
Andalucía_Córdoba                 2                         8                     3                 3
Andalucía_Granada                 0                        25                     3                 1
                  Cantabria_Cantabria Castilla y León_Avila Castilla y León_Burgos Castilla y León_León
                            Cantabria                 Avila                   2237                 2389
España                           2742                   748                      2                    1
Andalucía_Almería                   4                     0                      7                    3
Andalucía_Cádiz                     2                     1                      0                    0
Andalucía_Córdoba                   0                     0                      0                    2
Andalucía_Granada                   3                     0                      0                    0
                  Castilla y León_Palencia Castilla y León_Salamanca Castilla y León_Segovia
                                       745                      1530                     526
España                                   0                         1                       1
Andalucía_Almería                        0                         6                       1
Andalucía_Cádiz                          0                         0                       0
Andalucía_Córdoba                        0                         1                       0
Andalucía_Granada                        1                         1                       0
                  Castilla y León_Soria Castilla y León_Valladolid Castilla y León_Zamora
                                    381                       2549                    714
España                                0                          2                      2
Andalucía_Almería                     0                          3                      0
Andalucía_Cádiz                       1                          0                      0
Andalucía_Córdoba                     0                          2                      0
Andalucía_Granada                     0                          4                      0
                  Castilla La Mancha_Albacete Castilla La Mancha_Ciudad_Real Castilla La Mancha_Cuenca
                                     Albacete                           2357                       737
España                                   1763                              6                         0
Andalucía_Almería                           3                              3                         0
Andalucía_Cádiz                             1                              4                         0
Andalucía_Córdoba                           0                              7                         0
Andalucía_Granada                           6                              1                         1
                  Castilla La Mancha_Guadalajara Castilla La Mancha_Toledo Cataluña_Barcelona Cataluña_Girona
                                            1098                      2802          Barcelona            3659
España                                        13                         7              25887               2
Andalucía_Almería                              4                         3                109               2
Andalucía_Cádiz                                1                         4                 38               4
Andalucía_Córdoba                              1                         5                 63               2
Andalucía_Granada                              1                         0                 94               1
                  Cataluña_Lleida Cataluña_Tarragona Comunidad Valenciana_Alicante Comunidad Valenciana_Castellón
                             2142               4154                      Alicante                           3462
España                          0                  3                         11850                              2
Andalucía_Almería               2                  3                            22                              0
Andalucía_Cádiz                 1                  7                             2                              1
Andalucía_Córdoba               1                  7                             6                              3
Andalucía_Granada               1                  0                            34                              0
                  Comunidad Valenciana_Valencia Extremadura_Badajoz Extremadura_Cáceres Galicia_Coruña
                                          14330             Badajoz                1669         Coruña
España                                       21                2415                   0           3997
Andalucía_Almería                             8                   1                   4              3
Andalucía_Cádiz                               6                  13                   2              3
Andalucía_Córdoba                             6                   4                   1              0
Andalucía_Granada                             1                   2                  13              2
                  Galicia_Lugo Galicia_Ourense Galicia_Pontevedra Madrid (Comunidad de)_Madrid
                          1021             968               2612                        30307
España                       0               0                  3                          263
Andalucía_Almería            0               0                  0                          200
Andalucía_Cádiz              0               0                  0                           40
Andalucía_Córdoba            0               0                  2                          117
Andalucía_Granada            0               0                  1                           63
                  Murcia (Región de)_Murcia Navarra (Comunidad Foral de)_Navarra País Vasco_Alava
                                     Murcia                              Navarra            Alava
España                                 8096                                 2531             1721
Andalucía_Almería                        66                                    3                1
Andalucía_Cádiz                           4                                    6                6
Andalucía_Córdoba                         0                                    1                0
Andalucía_Granada                        18                                    1                2
                  País Vasco_Guipúzcoa País Vasco_Vizcaya Rioja (La)_Rioja_(La) Ceuta y Melilla_Ceuta
                                  2570               5097            Rioja (La)                 Ceuta
España                               2                 14                  1591                   292
Andalucía_Almería                   10                 17                     1                     0
Andalucía_Cádiz                      0                  1                     4                    17
Andalucía_Córdoba                    4                 14                     0                     2
Andalucía_Granada                    2                  8                     1                     5
                  Ceuta y Melilla_Melilla NA
                                      431  0
España                                  5  0
Andalucía_Almería                       0  0
Andalucía_Cádiz                         0 11
Andalucía_Córdoba                       5  0
Andalucía_Granada                       0  0
票数 2
EN

Stack Overflow用户

发布于 2022-05-19 12:30:53

这就是我所希望的:

代码语言:javascript
复制
out <- df %>% 
  fill(`...2`, .direction = c("down")) %>% 
  unite(col = "CCAA", c(1, 2)) %>% 
  mutate(
    "CCAA" = gsub("NA_NA|_NA|NA", "", CCAA)
  ) %>% 
  t() %>% 
  as.data.frame() %>% 
  fill(V1, .direction = "down") %>% 
  unite(col = "CCAA", c(1, 2)) %>% 
  mutate(
    "CCAA" = gsub("NA_NA|_NA|NA", "", CCAA)
  ) %>% 
  t() %>% 
  as.data.frame() %>% 
  janitor::row_to_names(1) %>% 
  rename(CCAA = c(1)) %>% 
  remove_rownames() %>% 
  column_to_rownames("CCAA") %>% 
  tibble()

这意味着:

代码语言:javascript
复制
# A tibble: 53 × 54
   España Andalucía_Almería Andalucía_Cádiz Andalucía_Córdoba Andalucía_Granada Andalucía_Huelva Andalucía_Jaén Andalucía_Málaga Andalucía_Sevilla Aragón_Huesca Aragón_Teruel
   <fct>  <fct>             <fct>           <fct>             <fct>             <fct>            <fct>          <fct>            <fct>             <fct>         <fct>        
 1 222295 4432              5622            3463              4394              2609             3028           8862             10210             991           524          
 2 5200   4303              4               20                118               0                123            24               25                1             1            
 3 6331   2                 5357            25                6                 11               11             77               447               1             0            
 4 3285   2                 4               3019              6                 0                18             36               34                1             0            
 5 4750   49                14              24                4067              1                74             100              32                2             3            
 6 3039   0                 6               20                3                 2502             0              7                316               0             0            
 7 2969   5                 3               17                28                1                2642           21               14                0             0            
 8 9914   9                 86              270               100               6                83             8405             197               1             0            
 9 9450   4                 82              18                8                 56               14             42               8975              0             0            
10 1622   0                 1               0                 0                 0                0              0                0                 897           5 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72303123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档