라이브러리 (readr) 및 read_csv() 함수에 대한 R에서 가장 좋아하는 점은 거의 항상 데이터의 열 유형을 올바른 클래스로 설정한다는 것입니다. 그러나 현재 데이터가 명확하게 숫자 인 경우에도 모든 문자 클래스의 데이터 프레임으로 데이터를 반환하는 R의 API를 사용하고 있습니다. 일부 스포츠 데이터가 예를 들어이 dataframe을 보자 :열 유형을 read_csv() 열 유형으로 변환하십시오.
dput(mydf)
structure(list(isUnplayed = c("false", "false", "false"), isInProgress =
c("false", "false", "false"), isCompleted = c("true", "true", "true"), awayScore = c("106",
"95", "95"), homeScore = c("94", "97", "111"), game.ID = c("31176",
"31177", "31178"), game.date = c("2015-10-27", "2015-10-27",
"2015-10-27"), game.time = c("8:00PM", "8:00PM", "10:30PM"),
game.location = c("Philips Arena", "United Center", "Oracle Arena"
), game.awayTeam.ID = c("88", "86", "110"), game.awayTeam.City = c("Detroit",
"Cleveland", "New Orleans"), game.awayTeam.Name = c("Pistons",
"Cavaliers", "Pelicans"), game.awayTeam.Abbreviation = c("DET",
"CLE", "NOP"), game.homeTeam.ID = c("91", "89", "101"), game.homeTeam.City = c("Atlanta",
"Chicago", "Golden State"), game.homeTeam.Name = c("Hawks",
"Bulls", "Warriors"), game.homeTeam.Abbreviation = c("ATL",
"CHI", "GSW"), quarterSummary.quarter = list(structure(list(
`@number` = c("1", "2", "3", "4"), awayScore = c("25",
"23", "34", "24"), homeScore = c("25", "18", "23", "28"
)), .Names = c("@number", "awayScore", "homeScore"), class = "data.frame", row.names = c(NA,
4L)), structure(list(`@number` = c("1", "2", "3", "4"), awayScore = c("17",
"23", "28", "27"), homeScore = c("26", "20", "25", "26")), .Names = c("@number",
"awayScore", "homeScore"), class = "data.frame", row.names = c(NA,
4L)), structure(list(`@number` = c("1", "2", "3", "4"), awayScore = c("35",
"14", "26", "20"), homeScore = c("39", "20", "35", "17")), .Names = c("@number",
"awayScore", "homeScore"), class = "data.frame", row.names = c(NA,
4L)))), .Names = c("isUnplayed", "isInProgress", "isCompleted",
"awayScore", "homeScore", "game.ID", "game.date", "game.time",
"game.location", "game.awayTeam.ID", "game.awayTeam.City", "game.awayTeam.Name",
"game.awayTeam.Abbreviation", "game.homeTeam.ID", "game.homeTeam.City",
"game.homeTeam.Name", "game.homeTeam.Abbreviation", "quarterSummary.quarter"
), class = "data.frame", row.names = c(NA, 3L))
그것은이 클래스의 종류를 지정해, API에 의해 반환되면이 dataframe 다루는 꽤 번거 로움입니다. 다시 읽는 CSV 사용 read_csv()를 dataframe 열 업데이트를 다음 CSV로 작성하여
write_csv(mydf, 'mydf.csv')
mydf <- read_csv('mydf.csv')
과 : 나는 다음과 열 클래스를 업데이트하는 해킹의 일종을 마련했습니다. 불행히도 필자는 내 디렉토리에 원하지 않는 CSV 파일을 남겼습니다. R 데이터 프레임의 열을 'read_csv()'열 클래스로 업데이트 할 수 있습니까? 실제로 CSV를 작성하지 않아도됩니까?
도움을 주시면 감사하겠습니다.
것은 당신이 원하는 위치를 얻을 쓰기와 읽기 CSV에주의, 코드에서 --- 당신은 잃게됩니다 --- 때문에 (있는 경우) 요소 (문자로 변환됩니다). API가 제대로 설정되면 잘 형식화 된 데이터를 얻을 것으로 기대되므로 요인이되어야합니다. 이는 플롯팅 등에서 일관된 주문에 매우 중요 할 수 있습니다. – Tino