【发布时间】:2022-01-17 11:08:21
【问题描述】:
我有一个包含 1 列的名称数据框。我尝试了order() 的多次迭代,并将其转换为列表,并以几种不同的方式尝试了sort(),但没有成功。
下面是dput()供参考:
> dput(names.ordered)
structure(list(Directors = c("Darabont, Frank", "Nolan, Christopher",
"Lumet, Sidney", "Spielberg, Steven", "Jackson, Peter", "Tarantino, Quentin",
"Leone, Sergio", "Fincher, David", "Zemeckis, Robert", "Kershner, Irvin",
"Wachowski, Lana", "Scorsese, Martin", "Forman, Milos", "Kurosawa, Akira",
"Demme, Jonathan", "Meirelles, Fernando", "Benigni, Roberto",
"Capra, Frank", "Lucas, George", "Miyazaki, Hayao", "Besson, Luc",
"Kobayashi, Masaki", "Polanski, Roman", "Cameron, James", "Singer, Bryan",
"Hitchcock, Alfred", "Allers, Roger", "Chaplin, Charles", "Kaye, Tony",
"Takahata, Isao", "Chazelle, Damien", "Scott, Ridley", "Nakache, Olivier",
"Curtiz, Michael", "Tornatore, Giuseppe", "Kubrick, Stanley",
"Wilder, Billy", "Stanton, Andrew", "Russo, Anthony", "Persichetti, Bob",
"Chan-Wook, Park", "Phillips, Todd", "Shinkai, Makoto", "Unkrich, Lee",
"Labaki, Nadine", "Petersen, Wolfgang", "Hirani, Rajkumar", "Lasseter, John",
"Mendes, Sam", "Gibson, Mel", "Kail, Thomas", "Marquand, Richard",
"Klimov, Elem", "Lang, Fritz", "Khan, Aamir", "Welles, Orson",
"Vinterberg, Thomas", "Aronofsky, Darren", "Donen, Stanley",
"Gondry, Michel", "Lean, David", "Tiwari, Nitesh", "Villeneuve, Denis",
"Zeller, Florian", "Farhadi, Asghar", "Ray, Satyajit", "Ritchie, Guy",
"Jeunet, Jean-Pierre", "Mulligan, Robert", "Docter, Pete", "Mann, Michael",
"Hanson, Curtis", "McTiernan, John", "Gnanavel, T.J.", "Farrelly, Peter",
"Hirschbiegel, Oliver", "Gilliam, Terry", "Eastwood, Clint",
"Majidi, Majid", "Kramer, Stanley", "Sturges, John", "Huston, John",
"Howard, Ron", "Coen, Ethan", "Carpenter, John", "Bergman, Ingmar",
"McDonagh, Martin", "Pablos, Sergio", "Lynch, David", "Weir, Peter",
"Reed, Carol", "McTeigue, James", "Boyle, Danny", "Coen, Joel",
"O'Connor, Gavin", "Fleming, Victor", "Ozu, Yasujirô", "Kazan, Elia",
"Irmak, Cagan", "Szifron, Damián", "Tarkovsky, Andrei", "Cimino, Michael",
"Costa-Gavras, Costa-Gavras,", "Anderson, Wes", "Keaton, Buster",
"Bruckman, Clyde", "Linklater, Richard", "Elliot, Adam", "Sheridan, Jim",
"Abrahamson, Lenny", "Raghavan, Sriram", "Mangold, James", "McQueen, Steve",
"Lubitsch, Ernst", "DeBlois, Dean", "Miller, George", "Wyler, William",
"Yates, David", "Clouzot, Henri-Georges", "Reiner, Rob", "Kashyap, Anurag",
"Rosenberg, Stuart", "Hallström, Lasse", "Kassovitz, Mathieu",
"Truffaut, François", "Yamada, Naoko", "Stone, Oliver", "McCarthy, Tom",
"Jones, Terry", "George, Terry", "Turgul, Yavuz", "Wong, Kar-Wai",
"Penn, Sean", "Anno, Hideaki", "Pontecorvo, Gillo", "Fellini, Federico",
"Wenders, Wim", "Kieslowski, Krzysztof", "Kumar, Ram", "Coppola, Francis Ford",
"Joon Ho, Bong", "von Donnersmarck, Florian Henckel", "Van Sant, Gus",
"De Sica, Vittorio", "Hill, George Roy", "De Palma, Brian", "Mankiewicz, Joseph L.",
"Anderson, Paul Thomas", "del Toro, Guillermo", "Campanella, Juan José",
"Shyamalan, M. Night", "Dreyer, Carl Theodor", "Avildsen, John G.",
"Iñárritu, Alejandro G.")), row.names = c(NA, -154L), class = "data.frame")
我已经尝试过的几件事返回错误或没有结果:
> names.ordered <- names.ordered[order(names.ordered$Directors)]
Error in `[.data.frame`(names.ordered, order(names.ordered$Directors)) :
undefined columns selected
> names.ordered <- names.ordered[order(1)]
#after converting to list
> names.ordered <- sort(names.ordered)
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
【问题讨论】: