に使用すると、データフレームに適用する2つの同様の機能があります。各関数は、データフレームから2つのベクトルを使用し、新しいベクトルを作成します。ただし、関数の1つがエラーを返すことがあります。最終的に、私はforループでこれを使用し、各関数が与えるエラーの数を数えます(ある関数が他の関数より優れていることを示すために):-))。しかし、私がtryCatch
またはtry
をパイプで十分に理解できるかどうかはわかりません。以下は、関数が失敗する1つの時間の例です。TryCatchをMagrittrパイプでR
try
でのmutateをラップ
library(tidyverse)
# Function that works
func_1 <- function(arg1, arg2) {
arg1 + arg2
}
# Function that errors
func_2 <- function(arg1, arg2) {
if(arg1 == 0) {error("Some Error")}
else arg1 * arg2
}
# Using the functions with pipes
cars <- mtcars %>%
filter(mpg > 18) %>%
select("vs", "carb") %>%
mutate(func1 = func_1(vs,carb)) %>%
mutate(func1 = func_2(vs, carb))
。私はtryCatch
パイプを使用して作業することができません。どのような思考や代替のアプローチが評価されます。おそらく、
エラーが発生した場合の対処方法 – Consistency
私は多くのデータフレームをループするつもりです。関数が動作しなくなるたびに、カウンタをインクリメントすることができます: 'func_2_errors = func_2_errors + 1'。両方の関数が機能する場合、データフレームには4つの列が必要です.1つの関数が失敗した場合、データフレームには3つの列が必要です。両方が失敗した場合は、元の2になります。 –