2017-12-29 33 views
1

私のSpark DataFrameのサブセット化に問題があります。SparkRでのgrep使用時のエラー

DataFramenfeといい、ITEM_PRODUTOという文字列でフォーマットされた列が含まれています。アイテム列に「AREIA」という単語が含まれているかどうかに基づいて、このDataFrameをサブセット化したいと思います。私は簡単に正確なフレーズに基づいてデータをサブセットすることができます

nfe.subset1 <- subset(nfe, nfe$ITEM_PRODUTO == "AREIA LAVADA FINA") 

nfe.subset2 <- subset(nfe, nfe$ITEM_PRODUTO %in% "AREIA") 

しかし、私が希望するITEM_PRODUTO列に単語「アレイア」を含むすべての行のサブセットです。私はグレップを使用しようとすると、しかし、私はエラーメッセージが表示されます

nfe.subset3 <- subset(nfe, grep("AREIA", nfe$ITEM_PRODUTO)) 

# Error in as.character.default(x) : 
# no method for coercing this S4 class to a vector 

を私は、構文の複数の反復を試みたが、同様greplを試してみましたが、何も動いていないようにみえました。それはおそらく構文エラーですが、誰も私を助けることができますか?

ありがとうございます!

答えて

1

標準R関数はSparkDataFrameには適用できません。

where(nfe, like(nfe$ITEM_PRODUTO, "%AREIA%")) 

またはrlike

where(nfe, rlike(nfe$ITEM_PRODUTO, ".*AREIA.*")) 
like`のいずれかを使用します