readline を使用して人々にデータの入力を求める関数があります。しかし、入力されたデータが私の基準を満たしていることを確認するための最良の方法について、私は途方に暮れています。「if」ステートメントがエラーをチェックするための最良の方法かもしれないと考えていますが、それらを組み込む方法がわかりません。それらを使用しようとする私の試みには明らかに欠陥があります (以下を参照)。
簡単な例として、私が遭遇する可能性が最も高い問題の 2 つは、x に少なくとも何らかの値が入力されていることを確認したい (x に値が入力されている場合、それは数値である) ことです。また、V1 と V2 には同じ数の値が含まれています。
fun<-function(){
T<-readline("What is x" )
if(T=="" | typeof(x)!=numeric)
{print("Input non-aceptable")
T<-readline("What is x ")}
else
V<-readline("Enter 4 values" )
V2<-readline("Enter 4 more values ")
if(length(V1)!=length(V2))
{print("V1 & V2 do not contain equal # of values")
V<-readline("Enter 4 values ")
V<-readline("Enter 4 more values ")}
else
T<-as.numeric(T)
V<-as.numeric(V)
V2<-as.numeric(V2)
return(list(x,V1,V2)
}
おわかりのように、実際のエラーが発生する前に潜在的なエラーを見つけ出し、データを再入力する機会をユーザーに与えることが私の望みです。「if」ステートメントを使用する方法がある場合、正しく使用するための助けを得ることができますか?
ありがとう!