2010-08-18 3 views
4

가능한 한 효율적으로 내 CSV 파일을 xts 개체로 변환하고 싶습니다. 나는 xts 객체로 변환하기 전에 동물원 객체를 생성하기 위해 read.zoo 메소드를 먼저 적용해야 할 필요가있다.data.frame 개체에서 Xts 개체로 변환

gold <- read.zoo("GOLD.CSV", sep=",", format="%m/%d/%Y", header=TRUE) 

Gold <- as.xts (gold, order.by=index(gold), frequency=NULL) 

초기 GOLD.CSV 파일을 Rtsts 개체로 변환하는 가장 효율적인 방법입니까?

답변

3

파일 인 경우이를 읽어야합니다.

gold <- as.xts(read.zoo("GOLD.CSV", sep=",", format="%m/%d/%Y", header=TRUE)) 

확인 : rightaway 변환 후 -하지만

그래서 같은 read.zoo()을 사용할 수 있습니까?

+0

그건 작동합니다! order.by 인수를 피할 수있는 방법이 확실치 않습니다. 어쨌든, 나는 당신이 효율성을 위해 그 선을 이길 수 있는지 확신하지 못합니다. Read.xts 함수가 존재하거나 작동하지 않는 것으로 보입니다. – Milktrader

+0

이미'zoo' 객체 인 경우에는 색인이 있고'order.by'가 필요 없습니다. –

+0

@Milktrader, 나는 당신이'xts'와'as.xts'를 혼란스럽게 생각한다고 생각합니다. 'args (xts ::: as.xts.zoo)'와'args (xts)'를 비교하십시오. –

2

자신 만의 read.xts 함수를 작성할 수 있습니다. 우리는 래퍼 함수를 ​​호출 것이며 그것은 function()

read.xts <- function(x, format = "%m/%d/%Y", header = TRUE, sep = ",") { 
    result <- as.xts(read.zoo(x, sep = sep, format = format, header = header)) 
    return(result) 
} 

read.xts(file.choose()) # select your file 

공지 인수의 라인을 따라 뭔가를 가야한다. 함수의 본문으로 전달됩니다 (중괄호 사이의 코드). function() 인수에 값이있는 경우 이는 이것이 기본값임을 의미합니다. 새 값 (예 : function(x = "my.file.csv", sep = "\t"))을 할당하면 기본값을 덮어 씁니다. 마지막 줄은 새 기능을 사용하는 방법을 보여줍니다. 나머지는 read.zoo 인수와 함께이 함수를 자유롭게 확장하십시오. 어떻게해야하는지에 대해 구체적인 질문이 있으면 부끄러워하지 말고 물어보십시오. :)

저는 일상 업무에서 그러한 작은 보석 몇 개를 사용합니다. Workhorse.R이라는 파일을 만들었고 작은 기능이 필요할 때마다로드합니다 (예 : source("d:/workspace/workhorse.R")).

+0

내가 R 지식에 여전히 사전 기능을 쓰고 있기 때문에 고려하지 않은 가장 훌륭한 아이디어. 다음에 기능이 있으므로 완벽한 응용 프로그램입니다. 또한이 문구가 나에게 불투명 한 것처럼 '래퍼'기능을 정의 해 주셔서 감사합니다. 지금 침몰하기 시작 했어. – Milktrader

+0

두려워 할 필요가 없습니다. 한 줄짜리처럼 간단 할 수도 있습니다 :'cubed <- function (x) x^3'. 이제'cubed (1 : 3) '을 시도해보십시오. –

+0

나는 그것을 더크 해봤는데, 나는 그것을 좋아한다. 고마워. – Milktrader

관련 문제