私は、他のすべての列にあるすべての単語を収集して書式を設定する新しい列を作成しようとしています。可能であれば、私はdplyrを使ってこれをしたいと思います。 オリジナルデータフレーム:dplyr mutate - 1行を関数の引数として渡すにはどうすればよいですか?
df %>%
rowwise() %>%
mutate(newColumn = myFunc(.))
そして、このような出力を見てい::私はこれをしようとすると
columnA columnB newColumn
1 A Z AZ
2 B Y BY
3 C X CX
4 D W DW
5 E V EV
6 F U FU
を簡略化した例として、
df <- read.table(text = " columnA columnB
1 A Z
2 B Y
3 C X
4 D W
5 E V
6 F U " )
、私のような何かを期待しています私のコードでは、出力は次のようになります。
columnA columnB newColumn
1 A Z ABCDEF
2 B Y ABCDEF
3 C X ABCDEF
4 D W ABCDEF
5 E V ABCDEF
6 F U ABCDEF
myFuncは引数として1行を取る必要がありますが、私はrowwise()を使ってみると関数全体にtibbleを渡しているようです(これはmyFuncに印刷関数を追加して見ることができます)。
どのようにして1行だけを渡し、これを反復して実行すれば、すべての行に機能を適用できますか?これはdplyrでできますか?
編集:
myfuncではは私の質問のために簡略化されています。実際の関数は次のようになります。
get_chr_vector <- function(row) {
row <- row[,2:ncol(row)] # I need to skip the first row
words <- str_c(row, collapse = ' ')
words <- str_to_upper(words)
words <- unlist(str_split(words, ' '))
words <- words[words != '']
words <- words[!nchar(words) <= 2]
words <- removeWords(words, stopwords_list) # from the tm library
words <- paste(words, sep = ' ', collapse = ' ')
}
あなたは 'myFunc'を共有できますか?'df'はどのように見えますか? – www
私は誤解しているかもしれませんが、 'df%>%mutate(newColumn = paste0(columnA、columnB))'は望みの結果を提供しませんか? –
私は私の質問の目的のために私の機能を単純化しました。私が使っている実際の機能は私のポストに埋め込まれています。 –