library(tidyr)
library(dplyr)
library(tidyverse)
以下は単純なデータフレームのコードです。私は、異なる列に展開された列要素カテゴリでエクスポートされた不気味なデータを持っています。類似の列名を参照して複数の列をTidyrの結合で結合する
Client<-c("Client1","Client2","Client3","Client4","Client5")
Sex_M<-c("Male","NA","Male","NA","Male")
Sex_F<-c(" ","Female"," ","Female"," ")
Satisfaction_Satisfied<-c("Satisfied"," "," ","Satisfied","Satisfied")
Satisfaction_VerySatisfied<-c(" ","VerySatisfied","VerySatisfied"," "," ")
CommunicationType_Email<-c("Email"," "," ","Email","Email")
CommunicationType_Phone<-c(" ","Phone ","Phone "," "," ")
DF<-data_frame(Client,Sex_M,Sex_F,Satisfaction_Satisfied,Satisfaction_VerySatisfied,CommunicationType_Email,CommunicationType_Phone)
私はtidyrの「団結」を使用して、単一の列にカテゴリを再結合します。
DF<-DF%>%unite(Sat,Satisfaction_Satisfied,Satisfaction_VerySatisfied,sep=" ")%>%
unite(Sex,Sex_M,Sex_F,sep=" ")
はしかし、私は複数の「団結」の行を記述する必要があり、私はこれが3回ルールに違反感じるので、私の実際のデータが必要な列の数十が含まれている、特に以来、これを容易にする方法が必要組み合わせる。一度「一度」使用する方法はありますか、何らかの形で一致する列名を参照して、類似しているすべての列名(「Sex_M」と「Sex_F」の場合は「Sex」、「CommunicationType_Email」の場合は「CommunicationType」を含む)と "CommunicationType_Phone")は上記の式と結合されていますか?
私も列名を入力できる機能について考えていましたが、これは複雑な標準評価が必要なため、これは難しいことです。
'DFが%>%団結を複数のケースについては
unite
を使用することができます'(土は、( "土")が含まれていますか)? – Nate
'DF%>%unite(土曜日、マッチ(" ^土 "))' – akrun