2017-10-05 1 views
1

MySQL의 DB 루프에서 데이터를 가져 오기r은 내가 성공적으로 R을 사용하여 DB를 내 MySQL의 데이터를 가져

괜찮아요 지금 내 문제는 : % percente 차이점 타협과 가까운 벡터 (x)와 다음 날 열기 (x + 1)의 벡터를 얻고 싶습니다.) 끝날 때까지 항목에 제대로 액세스 할 수 없습니다!

예 :

for (item in data){ 
    print (item[2]) 
} 

모든 가능한 조합과 같은 : ((오픈)/닫기 * 100) -100)

나는 시도

for (item in data){ 
    print (item[][2]) 
} 

하지만, 오른쪽에 액세스 할 수 없습니다 요소 :! 누구든지 도울 수 있니?

답변

1

ORDER BY 절을 지정하지 않았기 때문에 MySQL 쿼리에서 이보다 더 큰 문제가 발생할 수 있습니다. 다음 쿼리를 사용하는 것이 좋습니다.

SELECT DISTINCT 
    DATE(date) AS date, 
    open, 
    close 
FROM stocksng 
WHERE 
    symbol = "FIB7F" 
ORDER BY 
    date 

여기서 우리는 결과 집합을 날짜별로 정렬하여 현재 및 다음 열림 또는 닫음을 말하는 것이 좋습니다. 지금 현재 닫고 열린 다음 날 사이의 백분위 차이를 얻을 수 원한다면 장소에서 적절한 쿼리 당신은 시도 할 수 :

require(dplyr) 
(lead(open, 1)/close*100) - 100 

또는 사용하여 기본 R :

(open[2:(length(open)+1)]/close*100) - 100 
+0

답장을 보내 주셔서 감사합니다! 나는 그 도서관을 점검 할 것이다! 그러나 결과 행간에 더 많은 naif 솔루션이 반복됩니까? – egariM

+0

@egariM베이스 R에서 사용할 수있는 옵션으로 업데이트했습니다. –

0

경험이없는 버전 :

for (row in 1:nrow(data)){ 
    date <- unname (data[row,"date"]) 
    open <- unname (data[row+1,"open"]) 
    close <- unname (data[row,"close"]) 
    var <- abs((close/open*100)-100) 
    print (var) 
}