ループを作成するのに少し問題があります
- sql 変数「sensorname」内のすべてのデバイスにクエリを実行します (これは約 30 要素ですが、将来的に増加する予定です)
- デバイスクエリに関連付けられたデータテーブルを取得し、それを別のデータフレーム「data1」に入れますが、追加し続けます。
以下は、私のサンプル ループと、「正しい」が完全ではない data1 のサンプルです。LSF20_3a0925 は、変数 sensorname の最後の要素であるため、基本的にループは最後に実行されるまで、変数 data1 のデータを上書きするたびに 30 回実行されます。
library(RODBC)
ch <- odbcConnect("SweetLab", uid='---', pwd='------')
sqlQuery(ch, "use SweetDatabase")
sensorname <- sqlQuery(ch,paste("SELECT site_device.code
FROM site_device, device
WHERE site_device.did=device.id AND
device.name='LSF20'
LIMIT 0, 1000;",
sep="")
)
for(k in 1:length(sensorname[[1]])){
sqlQuery(ch, "use SweetAnalysis")
sql <- na.omit(sqlQuery(ch,paste("select * From ",sensorname[[1]][k],"_Events",sep="")));
if (is.null(sql))
{return(NULL)}
data1 <- merge(sensorname[[1]][k],sql)
}
#############################################
data1
x row_names PeaksP1Time PeaksP1
1 LSF20_3a0925 24 1346781683 5.076920
2 LSF20_3a0925 31 1358444323 0.043240
3 LSF20_3a0925 13 1358444463 0.133170
4 LSF20_3a0925 12 1358445120 5.286443
私は一般的にコードを書くのが初めてなので、これがばかげた質問である場合はすみません。このトピックについて少し調べてみましたが、正直なところ、このトピックを検索する方法がよくわかりませんでした。