データフレーム(この例ではdf$candpct
)内にリストがあり、リストから1番目と2番目の要素を抽出し、別々のベクトルに配置したいと考えています。ここでサプリでリストに欠けている要素を無視する
は、データフレームの最初の構造である:
> head(df)
juris candpct
1 101 0.752491, 0.247509
2 102 0.4856056, 0.2850754, 0.1845157
3 103 1
4 104 1
私が効果的に最初の要素を抽出する方法を私に示された、this answerを見てきました:
> df$first_place <- sapply(df$candpct,"[[",1)
> head(df)
juris candpct first_place
1 101 0.752491, 0.247509 0.752491
2 102 0.4856056, 0.2850754, 0.1845157 0.4856056
3 103 1 1
4 104 1 1
しかし、私はしようとした場合別の行を実行して2番目の要素を抽出すると、すべての行が2番目の位置に要素を持つわけではないため、エラーが発生します。
> df$second_place <- sapply(df$candpct,"[[",2)
Error in FUN(X[[3L]], ...) : subscript out of bounds
第二要素が欠落している場合、それはNA
又は0
とsecond_place
に対応する行を充填するために理想的に、私はたいです。
この問題に対処する方法はさまざまですが、私はリストを使って多くの経験を積んでいるわけではありませんので、始めに多くの問題を抱えています。
ご協力いただきありがとうございます。
は、代わりに '[['の '['使用してみてください。 – joran