我尝试创建一个列,计算该特定行的值到该点的频率。每个矩阵的代码显示当前数据和所需结果。所以对于列的矩阵Type |值:
test <- matrix(c(
1,0.14,1,
1,0.1345,2,
2,1.245,1,
2,1.532,2,
3,3.5345,1,
3,2.987,2,
2,1.743,3),ncol=3, byrow=TRUE)
colnames(test) <- c("Type", "Value","Frequency")
我试图获得与类型列对应的输出频率列:
$(document).ready(function() {
$('#myTable').on('click', 'span', function() {
var spanId = $(this).attr('id');
console.log(spanId);
});
});
对于在该行中存在累积计数之前出现的每种类型的总和。 任何帮助,将不胜感激。
答案 0 :(得分:1)
您可以使用dplyr
按Type
对数据进行分组,然后返回每行的行号。由于数据已分组,因此行号将等于Type
的给定值出现的次数。
library(tidyverse)
test %>%
tbl_df() %>%
group_by(Type) %>%
mutate(Frequency = row_number())
答案 1 :(得分:1)
也许这样:
> Frequency<-sapply(1:nrow(test), function(i) sum(test[1:i,1]==test[i,1]))
> cbind(test, Frequency)
Type Value Frequency
[1,] 1 0.1400 1
[2,] 1 0.1345 2
[3,] 2 1.2450 1
[4,] 2 1.5320 2
[5,] 3 3.5345 1
[6,] 3 2.9870 2
[7,] 2 1.7430 3