read.csv.ffdf
으로 큰 데이터 세트를 읽은 후 열 중 하나가 시간입니다. 해당 열의 1 백만 행에 대해 2014-10-18 00:01:02
과 같이 그 열은 하나의 요소입니다. ff
에 의해 지원되는 POSIXct
으로 변환하려면 어떻게해야합니까? 단순히 as.POSIXct()
을 사용하면 값이 NA
ff 또는 ffbase에서 계수 벡터를 POSIXct로 변환하는 방법
으로 바뀝니다. 처음에 데이터 세트를 읽을 때 해당 열을 POSIXct
으로 지정할 수 있습니까?
내 목표는 월과 일 (또는 심지어 시간)을 얻는 것입니다. 그래서 나는 POSIXct
으로 변환하는 것 이외의 다른 해결책을 열어두고 있습니다.
는 예를 들어, 우리는
test <- read.csv.ffdf(file="test.csv", header=T, first.rows=-1)
두 열 ID (숫자 등급), 및 시간 (계수 클래스) 여기서
있는 2 테이블이 9가있다 dput
structure(list(virtual = structure(list(VirtualVmode = c("integer",
"integer"), AsIs = c(FALSE, FALSE), VirtualIsMatrix = c(FALSE,
FALSE), PhysicalIsMatrix = c(FALSE, FALSE), PhysicalElementNo = 1:2,
PhysicalFirstCol = c(1L, 1L), PhysicalLastCol = c(1L, 1L)), .Names = c("VirtualVmode",
"AsIs", "VirtualIsMatrix", "PhysicalIsMatrix", "PhysicalElementNo",
"PhysicalFirstCol", "PhysicalLastCol"), row.names = c("ID", "time"
), class = "data.frame", Dim = c(9L, 2L), Dimorder = 1:2), physical = structure(list(
ID = structure(list(), physical = <pointer: 0x000000000821ab20>, virtual = structure(list(), Length = 9L, Symmetric = FALSE), class = c("ff_vector",
"ff")), time = structure(list(), physical = <pointer: 0x000000000821abb0>, virtual = structure(list(), Length = 9L, Symmetric = FALSE, Levels = c("10/17/2003 0:01",
"12/5/1999 0:02", "2/1/2000 0:01", "3/23/1998 0:01", "3/24/2013 0:00",
"5/29/2004 0:00", "5/9/1985 0:01", "6/14/2010 0:01", "6/25/2008 0:02"
), ramclass = "factor"), class = c("ff_vector", "ff"))), .Names = c("ID",
"time")), row.names = NULL), .Names = c("virtual", "physical",
"row.names"), class = "ffdf")
이 들어 dput'의 출력 (머리 (데이터))' –
하여 데이터의 작은 샘플을 제공하십시오 factor 변환을 사용하려면 먼저 컬럼에서 as.character를 수행해야합니다. 그러면 그것을 as.POSIXct'에 전달할 수 있습니다. – hrbrmstr
as.character를 적용한 후에도 열은 여전히 factor 클래스입니다. 나는 문제가 ff가 문자를 지원하지 않는다고 생각한다 ... 아마도 나는 실수라고 생각한다. –