0
而不是走開這裏的可重複的例子,我解釋了爲什麼它做它做。在R中,爲什麼這個調用聚集()做到這一點
data = read.csv(text="Email foo.final bar.final
[email protected] 100 200
[email protected] 101 201
[email protected] 102 202
[email protected] 103 103", header=T, sep="")
a = gather(data, key, Grade, -Email)
是指:除「電子郵件」,把所有的列的值轉換成所謂的「等級」一單新列,添加一個名爲「鑰匙」新列包含列標題下發生,它的值。鑑於我們有4個觀測值,每個觀測值有兩個變量,這應該產生8個觀測值。結果:
Email key Grade
1 [email protected] foo.final 100
2 [email protected] foo.final 101
3 [email protected] foo.final 102
4 [email protected] foo.final 103
5 [email protected] bar.final 200
6 [email protected] bar.final 201
7 [email protected] bar.final 202
8 [email protected] bar.final 103
B =收集(數據,密鑰級)
相同的含義,但現在我們包括電子郵件。現在我們有4個觀測值,但有3個變量,所以我們應該得到12個觀測值。結果:
key Grade
1 Email [email protected]
2 Email [email protected]
3 Email [email protected]
4 Email [email protected]
5 foo.final 100
6 foo.final 101
7 foo.final 102
8 foo.final 103
9 bar.final 200
10 bar.final 201
11 bar.final 202
12 bar.final 103
我並不感到驚訝。謝謝。
什麼是你期待?哪一部分對你沒有意義?我不確定你在問什麼。另外,如果在提問時包含一個簡單的[可重現的示例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),則會更好。 'str()'不如'dput()'有用。更好地使用內置的數據集或最簡單的示例。 – MrFlick
這是非常期待的權利?你正在收集所有的變量(不是轉義電子郵件),它強制在一列中輸入數字/字符值 – timfaber
所有的電子郵件實際上是相同的嗎?如果不是,那麼你可能想重新考慮你提供的例子,因爲它不代表你的用例。 – Dason