我想使用具有多个列的R创建数据透视表。我的data.csv文件的图像和所需的预期结果如下:
这是我的示例数据文件。
我想要使用R输出的是:
使用excel中的数据透视表可以轻松获得所需的结果,但是我只想使用R。
答案 0 :(得分:2)
使用base R进行三步操作,不带包装
数据:
structure(list(`Registration Number` = structure(c(1L, 2L, 1L,
2L, 2L, 1L), .Label = c("123", "456"), class = "factor"), Name = structure(c(1L,
2L, 1L, 2L, 2L, 1L), .Label = c("a", "b"), class = "factor"),
Marks1 = c(20, 30, 40, 50, 60, 70), Marks2 = c(10, 20, 30,
40, 50, 60)), .Names = c("Registration Number", "Name", "Marks1",
"Marks2"), row.names = c(NA, -6L), class = "data.frame")
让我们使用aggregate
函数
第1步-按注册号计算商标1的总和
data1<-aggregate(Marks1 ~ `Registration Number`,dataf, sum)
第2步-通过注册号计算分数2的总和
data2<-aggregate(Marks1 ~ `Registration Number`,dataf, sum)
第3步-将两者合并在一起
dataset<-merge(data1,data2)
Registration Number Marks1 Marks2
1 123 130 100
2 456 140 110
答案 1 :(得分:0)
您可以使用dplyr软件包
<img id="myImg" src="https://pbs.twimg.com/profile_images/591093476/bird.jpg">
<input type="range" id="slider1" value="50">
<input type="range" id="slider2" value="4">
<input type="range" id="slider3" value="50">
<input type="range" id="slider4" value="50">
<input type="range" id="slider5" value="50">
<input type="range" id="slider6" value="50">
<input type="range" id="slider7" value="50">