0
を実行していない基本的なデータは、15列と、より多くの行を次のようになります。R tryCatchは、forループでエラーをスキップしますが、エラー文が
X:
Zeit Boesel Dresden.Nord Dresden.Winckelmannstrasse
1 01.01.2011 01:00 2741 9961.169 NA
2 01.01.2011 02:00 3462 19144.478 NA
3 01.01.2011 03:00 3675 10772.111 NA
4 01.01.2011 04:00 4550 5255.695 NA
Y:
Zeit Boesel Dresden.Nord Dresden.Winckelmannstrasse
1 01.01.2011 01:00 274.24 272.76 273.27
2 01.01.2011 02:00 273.97 272.44 273.10
3 01.01.2011 03:00 274.11 272.42 273.09
4 01.01.2011 04:00 273.91 272.08 272.48
それぞれの列に対してこれらのdfsでcor.testを実行し、結果にp.valuesだけを保存したいとします。 明らかに、4番目の列のforループでエラーが発生します(NAsのみを含む)。エラーをtryCatch用いること
result = numeric()
for (i in 2:15)
{tryCatch(
{result = append(result, cor.test(x[,i], y[,i], na.action = "na.omit", method = "spearman")$p.value)},
error=function(e) NA)}
はスキップされ、ループは継続するが、エラーステートメントはNAは、それがわずか13列を含むことをその結果に付加されていません。
なぜ動作しないのですか?この問題をどのように解決できますか?