문제점 : R Studio 콘솔과 함수에서 동일한 SQL 쿼리를 실행할 때 두 가지 결과가 나타나며 누군가 내게 말할 수 있기를 바랬습니다. 부작용이 어디서 오는지. 사용되는 데이터 프레임에는 3 개의 필드 (id, timestamp, cluster) 만 있습니다.sqldf가 콘솔과 코드에서 다른 결과를 나타냅니다.
get_cluster_boundaries <- function(clustering_result) {
library(sqldf)
dfname <- deparse(substitute(clustering_result))
all_clusters <- sqldf(paste("SELECT DISTINCT(cluster) FROM ", dfname, sep=""))
for(cluster_no in all_clusters) {
lquery <- paste("SELECT min(timestamp) FROM ", dfname, " WHERE cluster = ", cluster_no, sep="")
lower_end <- sqldf(lquery)
uquery <- paste("SELECT max(timestamp) FROM ", dfname, " WHERE cluster = ", cluster_no, sep="")
upper_end <- sqldf(uquery)
print(paste("Cluster ", cluster_no, " starts from ", lower_end, " to ", upper_end, sep=""))
}
}
이 모든 클러스터 나에게 하나의 결과를 제공, 개인 uquery 및 lquery을 copypasting 여전히 사용 sqldf하여 R 스튜디오 콘솔을 실행하는 동안 저을 제공 : 다음과 같은 것이
내 기능입니다 각 클러스터의 올바른 시작 날짜와 종료 날짜
으로 시도합니다. –