私はRのコードを改善する方法を読んできました。ここで答えのいくつかを見て、R infernoの文書も少し読んでいます。今私はこの問題を抱えており、私が作成したループは永遠に(15時間と数えて)摂取しているようです。このループを改善するアイデアは可能ですか?
k <- NROW(unique(df$EndStation.Id))
l <- NROW(unique(df$StartStation.Id))
m1 <- as.matrix(df[,c("Duration","StartStation.Id","EndStation.Id")])
g <- function(m){
for (i in 1:l){
for (j in 1:k){
duration <- m[(m[,2]==i & m[,3]==j),1]
if (NROW(duration)<=1) {
m[(m[,2]==i & m[,3]==j),1] <- NA
next
}
duration <- duration/median(duration)
m[(m[,2]==i & m[,3]==j),1] <- duration
}
}
return(m)
}
answer <- g(m1)
駅(開始と終了)の数は750と期間ベクタサイズの両方で80に1または2から多くのことを変えることができ、このループはありそうですか、私はあきらめなければならないとへのアクセスを取得しようより速いコンピュータ。
敬具、 フェルナンド
ようこそStackOverflow! [良い質問をする方法](https://stackoverflow.com/help/how-to-ask)を読んで、あなたの例を[再現可能]にしてください(http://stackoverflow.com/questions/5963269/how -to-make-a-great-r-reproducible-example)を使用します。 –
ループは750x750回実行されますが、スカラーではないベクトル演算を使用しています。 – Marichyasana