私のクラス 'class2'の妥当性を検証する問題があります。それは 'class1'オブジェクトのリストで作られています。R他のS4クラスのリストを含むS4クラス
Error in validObject(.Object) :
invalid class “class2” object: 1: NULL
invalid class “class2” object: 2: NULL
私は問題がテストすることによって、lapplyから来ていたことを確認:
class2 <- setClass(
Class = "class2",
slots = c(slotListName = "list"),
validity = function(object){
lapply([email protected], function(x){
if(!identical(is(x), "class1"))
stop(" not a class1 object");
});
});
問題がlapply受け入れられていない値を返すことです:私は、それは確かにそうであることを確認したいです正常に動作しているリストの最初の要素は、:
if(!identical(is([email protected][[1]]), "class1"))
stop("not a class1 object");
私はベクトル化を試みたが、これは問題を変更しません。
slotListNameが本当に 'class1'オブジェクトのリストであることを確認する方法はありますか?
ありがとうございます!
class1オブジェクトがない場合はどうしますか? 'slotListName'はNULLか長さ0のリストでなければなりませんか? –
私は、コンストラクタがエラーをスローし、クラス2オブジェクトを作成しないようにします。ありがとう! – nicoluca