Wrong numbering of data frame lines in R

Asked

Viewed 56 times

0

I cleaned a dataframe and, after processing it, the result was a table with all the rows with the wrong numbering. inserir a descrição da imagem aqui

Notice that the first line has the number 90, the second 92 and so on. I want it to be an orderly numbering. The first line with the number 1, the second with 2 etc. Next, a dput of my data:

structure(list(Período = c("2002-1", "2002-2", "2003-1", "2003-2", 
"2004-1", "2004-2", "2005-1", "2005-2", "2006-1", "2006-2"), 
    Feminino = structure(c(37L, 76L, 101L, 113L, 125L, 136L, 
    142L, 152L, 158L, 161L), .Label = c("0", "1", "10", "101", 
    "103", "105", "111", "116", "117", "12", "129", "134", "137", 
    "14", "15", "152", "16", "17", "18", "19", "193", "2", "20", 
    "204", "207", "21", "23", "24", "25", "27", "28", "29", "3", 
    "31", "32", "35", "3658", "37", "38", "39", "4", "45", "46", 
    "48", "5", "50", "52", "55", "6", "66", "67", "7", "8", "85", 
    "88", "9", "95", "FEMININO", "102", "104", "109", "115", 
    "122", "130", "133", "144", "146", "198", "210", "22", "26", 
    "30", "33", "34", "36", "3710", "40", "42", "54", "58", "60", 
    "61", "64", "69", "71", "77", "80", "84", "92", "93", "11", 
    "112", "114", "124", "13", "138", "141", "147", "161", "180", 
    "3931", "43", "51", "53", "62", "63", "75", "81", "90", "118", 
    "189", "203", "3691", "44", "49", "65", "72", "76", "82", 
    "94", "100", "113", "119", "121", "3707", "56", "59", "68", 
    "74", "79", "86", "107", "125", "154", "206", "3724", "47", 
    "91", "110", "132", "202", "3905", "41", "73", "78", "87", 
    "89", "98", "99", "120", "213", "3916", "106", "108", "123", 
    "139", "216", "3996", "83", "215", "4316", "57", "70", "201", 
    "211", "4415", "97", "126", "136", "140", "217", "4646", 
    "128", "157", "205", "221", "4942", "153", "160", "222", 
    "248", "5015", "96", "165", "185", "196", "254", "5458", 
    "143", "176", "190", "5855", "131", "151", "172", "173", 
    "229", "251", "6664", "142", "149", "175", "247", "256", 
    "6907", "163", "166", "168", "186", "240", "259", "266", 
    "7733", "135", "159", "164", "167", "170", "188", "263", 
    "7791", "155", "162", "197", "257", "267", "283", "8486", 
    "150", "156", "158", "179", "184", "219", "231", "264", "284", 
    "8047", "169", "181", "191", "237", "278", "297", "8554", 
    "127", "187", "220", "238", "249", "255", "292", "8346", 
    "174", "199", "218", "228", "277", "8613", "182", "208", 
    "234", "236", "8208", "192", "194", "214", "8112", "200", 
    "232", "235", "7592", "148", "209", "233", "7584", "243", 
    "7262", "145", "224", "7498", "223", "226", "7126", "177", 
    "7438", "239", "7158", "171", "242", "246", "7602", "253", 
    "258", "7524", "281", "8169"), class = "factor"), Masculino = structure(c(34L, 
    74L, 103L, 120L, 137L, 150L, 161L, 150L, 176L, 183L), .Label = c("0", 
    "1", "10", "107", "11", "12", "13", "130", "14", "147", "15", 
    "16", "19", "198", "2", "20", "21", "215", "219", "22", "227", 
    "25", "252", "27", "287", "3", "30", "31", "319", "32", "35", 
    "38", "39", "3925", "4", "41", "43", "46", "48", "5", "50", 
    "51", "6", "60", "63", "64", "66", "7", "72", "74", "78", 
    "8", "83", "84", "9", "91", "93", "MASCULINO", "109", "135", 
    "164", "18", "181", "207", "211", "224", "23", "256", "26", 
    "274", "28", "29", "322", "3995", "44", "45", "49", "54", 
    "58", "61", "65", "68", "70", "71", "75", "81", "89", "92", 
    "112", "120", "17", "173", "208", "223", "237", "242", "288", 
    "33", "336", "34", "37", "40", "4248", "52", "73", "76", 
    "87", "96", "98", "99", "104", "108", "166", "217", "24", 
    "249", "258", "275", "316", "4124", "55", "59", "79", "86", 
    "94", "95", "102", "113", "161", "176", "218", "250", "253", 
    "271", "318", "36", "4217", "47", "69", "77", "101", "106", 
    "121", "157", "196", "200", "216", "241", "270", "4268", 
    "56", "80", "125", "140", "203", "214", "246", "254", "277", 
    "299", "4312", "111", "124", "131", "197", "213", "247", 
    "278", "307", "53", "117", "209", "245", "289", "42", "4270", 
    "57", "123", "206", "212", "268", "295", "4437", "62", "67", 
    "97", "118", "119", "205", "248", "4433", "90", "126", "177", 
    "238", "255", "264", "304", "4657", "114", "150", "179", 
    "204", "221", "243", "260", "262", "286", "4800", "85", "103", 
    "136", "142", "231", "244", "259", "290", "122", "175", "184", 
    "281", "302", "5023", "153", "194", "280", "282", "308", 
    "5195", "88", "158", "167", "185", "225", "285", "338", "357", 
    "5863", "139", "159", "160", "171", "226", "292", "296", 
    "370", "391", "5895", "105", "110", "115", "133", "151", 
    "162", "186", "229", "232", "294", "303", "393", "418", "6518", 
    "82", "100", "127", "148", "168", "239", "428", "469", "6490", 
    "116", "174", "189", "234", "305", "310", "448", "492", "7077", 
    "134", "152", "180", "228", "311", "411", "511", "6706", 
    "129", "333", "416", "533", "7239", "132", "146", "235", 
    "326", "432", "578", "7044", "137", "191", "236", "439", 
    "593", "7427", "128", "220", "327", "442", "631", "7087", 
    "291", "463", "650", "7438", "155", "222", "329", "475", 
    "674", "7040", "272", "350", "493", "680", "7413", "154", 
    "163", "349", "496", "693", "7108", "230", "348", "512", 
    "671", "7533", "149", "190", "269", "342", "521", "667", 
    "7190", "193", "534", "664", "7632", "141", "257", "345", 
    "580", "678", "7341", "138", "334", "616", "666", "7849", 
    "320", "630", "663", "7575", "188", "293", "330", "644", 
    "649", "8173"), class = "factor"), Total = structure(c(56L, 
    107L, 145L, 170L, 190L, 209L, 224L, 240L, 248L, 259L), .Label = c("1", 
    "10", "105", "107", "112", "115", "120", "123", "127", "129", 
    "16", "17", "171", "18", "186", "19", "2", "203", "208", 
    "209", "21", "217", "24", "243", "25", "265", "27", "295", 
    "32", "323", "327", "332", "349", "37", "38", "39", "4", 
    "40", "41", "430", "456", "46", "5", "52", "55", "58", "59", 
    "6", "60", "66", "7", "70", "72", "73", "75", "7583", "76", 
    "8", "80", "88", "9", "94", "96", "97", "Total", "104", "11", 
    "111", "116", "122", "13", "135", "140", "154", "160", "168", 
    "173", "187", "191", "224", "228", "274", "282", "30", "311", 
    "313", "329", "33", "333", "34", "35", "426", "45", "466", 
    "47", "49", "50", "51", "53", "54", "56", "57", "62", "64", 
    "65", "74", "7705", "78", "93", "98", "100", "106", "109", 
    "117", "128", "130", "132", "134", "142", "147", "15", "155", 
    "194", "195", "197", "22", "226", "237", "28", "29", "298", 
    "3", "300", "352", "361", "366", "44", "453", "462", "61", 
    "63", "71", "77", "79", "8179", "90", "95", "108", "12", 
    "121", "133", "157", "162", "167", "174", "193", "198", "281", 
    "285", "292", "301", "31", "346", "42", "425", "43", "461", 
    "48", "69", "7815", "81", "82", "89", "91", "101", "103", 
    "110", "118", "131", "156", "175", "177", "201", "221", "23", 
    "253", "324", "337", "67", "7924", "85", "119", "125", "136", 
    "159", "166", "170", "181", "20", "216", "219", "255", "26", 
    "276", "284", "287", "291", "423", "7992", "83", "87", "102", 
    "114", "150", "164", "180", "183", "213", "289", "317", "331", 
    "36", "400", "8217", "86", "92", "124", "141", "143", "151", 
    "153", "169", "185", "227", "242", "260", "290", "416", "68", 
    "8184", "152", "230", "279", "322", "338", "399", "458", 
    "8266", "99", "138", "148", "205", "238", "244", "286", "409", 
    "410", "457", "8753", "126", "14", "172", "179", "202", "206", 
    "257", "293", "307", "341", "401", "402", "459", "8848", 
    "144", "229", "262", "264", "280", "413", "432", "9303", 
    "137", "165", "189", "199", "223", "267", "315", "340", "464", 
    "9742", "232", "250", "312", "350", "403", "422", "492", 
    "84", "9672", "10481", "139", "163", "184", "211", "233", 
    "251", "258", "269", "294", "336", "355", "380", "503", "11050", 
    "158", "182", "204", "225", "249", "259", "302", "357", "363", 
    "365", "384", "506", "12527", "149", "161", "176", "178", 
    "220", "263", "288", "310", "339", "395", "415", "427", "499", 
    "113", "12802", "145", "196", "245", "254", "296", "308", 
    "319", "351", "435", "480", "500", "14251", "146", "248", 
    "261", "309", "392", "441", "498", "520", "14281", "200", 
    "236", "246", "314", "328", "406", "450", "505", "578", "15563", 
    "190", "241", "304", "405", "472", "491", "523", "625", "14753", 
    "270", "277", "320", "326", "476", "487", "630", "15793", 
    "192", "222", "303", "358", "420", "493", "502", "517", "658", 
    "15390", "215", "273", "321", "334", "360", "479", "514", 
    "728", "16040", "272", "283", "305", "325", "424", "754", 
    "15295", "234", "417", "455", "509", "797", "15550", "214", 
    "266", "268", "306", "394", "495", "538", "824", "14632", 
    "231", "256", "496", "558", "864", "14997", "235", "460", 
    "529", "576", "867", "14370", "210", "347", "407", "531", 
    "596", "887", "15031", "207", "408", "613", "14316", "212", 
    "239", "271", "362", "419", "507", "857", "15070", "396", 
    "485", "513", "641", "840", "14499", "240", "364", "418", 
    "497", "679", "848", "15451", "359", "376", "439", "490", 
    "724", "837", "15099", "275", "299", "344", "387", "482", 
    "526", "744", "845", "16342", "218", "318", "373", "381", 
    "469", "484", "536", "755", "835"), class = "factor")), row.names = c("90", 
"92", "921", "93", "95", "97", "971", "99", "96", "102"), class = "data.frame")
  • 3

    Try row.names(dados) <- NULL. That’s all.

1 answer

2


The numbering is not wrong because what you see is not the line number, but the name. Consider this example:

set.seed(56)
exdf <- data.frame(letra = sample(LETTERS[1:4], 4), numero = 1:4)

> exdf[order(exdf$letra), ]
  letra numero
4     A      4
2     B      2
1     C      1
3     D      3

rownames(exdf) <- exdf$letra

> exdf
  letra numero
C     C      1
B     B      2
D     D      3
A     A      4

> exdf[order(exdf$letra), ]
  letra numero
A     A      4
B     B      2
C     C      1
D     D      3

If when creating your data.frame there are no names for the lines, R assigns sequential numbering. As @Rui-Arradas pointed in the comments, after reordering and/or subdividing, can "reset" the names with:

rownames(exdf) <- NULL

But this is usually not necessary. And some enhanced versions of data.frame (e.g. data.table) simply do not use line names.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.