2017-07-14 2 views
0

これに相当するdplyrはありますか?私はデータフレーム特定の文字列に一致するすべての変数を置換するためのDplyr

tbl(sc,"df") %>% 

と上記の最初のスクリプトを貼り付けるスパークするRからのパイプ機能を使用してsparklyrコマンドを実行したいNAと文字列XXXに一致する「を置換すべて」

is.na(df) <- df=="xxx" 

後です動作しません。

おかげ

+0

NA値を指定した文字列に置き換えますか?それとも別の方法ですか?あなたの最初の声明は私には分かりません。 –

+0

すべての変数を文字列 "xxx"でNAに置き換えます。最初のスクリプトは、 "xxx" – JimmyR

答えて

0

は、あなたが探したい文字列を「XXX」を置き換えます。

#Using dplyr piping 
library(dplyr) 
df[] = df %>% lapply(.,function(x)ifelse(grepl("XXX",x)==T,NA,x)) 

#Using only the base package 
df[] = lapply(df,function(x)ifelse(grepl("XXX",x)==T,NA,x)) 

をこの方法では、「あなたのデータフレーム1対1で各列を評価し、ルックアップするために関数を適用しますXXX "と置き換えてください。

+0

Thxと一致するdf内のすべての変数にNAを割り当てることですが、それは私のためにはうまくいきませんでした。 – JimmyR

+0

エラーメッセージが表示されますか? –

+0

パイプを実行してからcollect(ローカルRのデータフレームにSparkする)するとエラー "UseMethod(" collect ")のエラー:クラス" list "のオブジェクトに適用される 'collect'の適用可能なメソッドがありません。 data.frame(do.call(cbind、lapply(。、function(x)ifelse(grepl( "xxx"、x)== T、NA、x)))、stringsAsFactors = FALSE)、および "xxx "はNAに変換された – JimmyR