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