質問のフォローアップデータフレームで一意の値を検索し、それらを使用してテーブルを作成する
ここに私のデータがどのように見えるかがあります
UUID Source
1 Jane http//mywebsite.com44bb00?utm_source=ADW&utm_medium=banner&utm_campaign=Monk&gclid1234
2 Mike http//mywebsite.com44bb00?utm_source=Google&utm_medium=cpc&utm_campaign=DOG&gclid1234
3 John http//mywebsite.com44bb00?utm_source=Yahoo&utm_medium=banner&utm_campaign=DOG&gclid1234
4 Sarah http//mywebsite.com44bb00?utm_source=Facebookdw&utm_medium=cpc&utm_campaign=CAT&gclid1234
5 Michael http//mywebsite.com44bb00?utm_source=Twitter&utm_medium=GDNr&utm_campaign=CAT&gclid1234
6 Bob http//mywebsite.com44bb00?utm_source=ADW&utm_medium=GDN&utm_campaign=DOG&gclid1234
7 Mark http//mywebsite.com44bb00?utm_source=Twitter&utm_medium=banner&utm_campaign=MONK&gclid1234
8 Anna http//mywebsite.com44bb00?utm_source=Facebook&utm_medium=banner&utm_campaign=MONK&gclid1234
そして、ここに私が達成しようとしているものの望ましい出力があります
NAME UTM_SOURCE UTM_MEDIUM UTM_CAMPAIGN
1 Jane ADW banner Monk
2 Mike Google cpc DOG
3 John Yahoo banner DOG
4 Sarah Faceboo cpc CAT
5 Michael Twitter GDN CAT
6 Bob ADW GDN DOG
7 Mark Twitter banner MONK
8 Anna Facebook banner MONK
言い換えれば、私が欲しいのは、基準に基づいて特定の情報を取得することです。例: データフレームで値「utmsource=」を検索し、見つかった場合は、「=」記号と「&」記号の間にある情報をコピーします。ユーザー番号 1 (Jame) の場合、元のファイルを見ると、彼女のソース URL には「utm_source=ADW」という値が含まれています。出力ファイルでは、「ADW」ビットが抽出され、「utm_source」という名前の新しい列に代入されます。他のすべてのユーザーと他のディメンション (utm_medium & utm_campaign) についても同じ原則
関数gsub
が役立つことを理解しています。これが私がこれまでに試したことです:
> file1 <- read.csv("C:/Users/Dumitru Ostaciu/Desktop/Users.csv")
> file1 <- transform(file1, Source = as.character(Source))
> file2 <- gsub(".*\\?utm_source=", "", file1$Source)
そして、これが私が得た結果です
UUID SOURCE
1 ADW&utm_medium=banner&utm_campaign=Monk&gclid1234
2 Google&utm_medium=cpc&utm_campaign=DOG&gclid1234
3 Yahoo&utm_medium=banner&utm_campaign=DOG&gclid1234
4 Facebookdw&utm_medium=cpc&utm_campaign=CAT&gclid1234
5 Twitter&utm_medium=GDNr&utm_campaign=CAT&gclid1234
6 ADW&utm_medium=GDN&utm_campaign=DOG&gclid1234
7 Twitter&utm_medium=banner&utm_campaign=MONK&gclid1234
8 Facebook&utm_medium=banner&utm_campaign=MONK&gclid1234
これについて 2 つの質問があります。
1)私が得た出力では、関数は値 "utm_source-" に続くすべてをコピーしました。「=」と「&」の間にあるものだけを数式でコピーするには、別のディメンションを追加する方法を教えてください。
2) 最初の列 (UUID)、ジェーン、マイク、ジョンなどに最初にあった値を保持するにはどうすればよいですか?