私の問題は次のとおりです:R Studioコンソールと関数で同じSQLクエリを実行すると、2つの異なる結果が得られ、誰かが私に教えてくれることを期待していました副作用がどこから来ているのか。使用されているデータフレームには、3つのフィールド(ID、タイムスタンプ、クラスタ)しかありません。sqldfはコンソールとコードで異なる結果を返します
My機能は以下の通りです:
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スタジオコンソールでそれらを実行すると、私与えながら、これは、私のすべてのクラスタのための単一の結果を提供します各クラスタの正しい開始日と終了日。
を試す[MCVE]確認してください。 –