所以我有一个包含 200 多列的大型数据集。
在数据集(df)中,每个条目都是按日期排列的,这使得数据看起来像这样
Name Passes Goal
Jack 7 1
Jack 4 2
Ali 10 1
John 5 5
我希望它可以按人名对值进行求和,而无需我输入姓名(有超过 100 个不同的姓名) 所以它看起来像这样:
Name Passes Goal
Jack 11 3
Ali 10 1
John 5 5
我该如何在 r 上执行此操作?
最佳答案
获取您原来发布的 htlm-data 并通过 rvest
读取它(见下文)
您可以执行以下操作:
dat <- doc %>% html_table() %>% `[[`(1)
colnames(dat) <- dat[1,]
dat <- dat[-1,]
dat[,2:3] <- lapply(dat[,2:3], as.numeric)
aggregate(.~Date, FUN = sum, data=dat)
结果:
Date Passes Goals
1 Ali 7 1
2 Jack 10 5
3 John 11 2
读入数据:
require(rvest)
doc <- read_html('<div class="CSSTableGenerator" >
<table >
<tr>
<td>
Date
</td>
<td >
Passes
</td>
<td>
Goals
</td>
</tr>
<tr>
<td >
John
</td>
<td>
5
</td>
<td>
1
</td>
</tr>
<tr>
<td >
John
</td>
<td>
6
</td>
<td>
1
</td>
</tr>
<tr>
<td >
Ali
</td>
<td>
7
</td>
<td>
1
</td>
</tr>
<tr>
<td >
Jack
</td>
<td>
10
</td>
<td>
5
</td>
</tr>
</table>
</div>')
关于r - 如何在R中的大数据框中按特定文本对行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34419199/