Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(data.table)
- >
- > dat <- data.table(x = sample(c(10, 16, 22, 28, 34, 40), 20, replace = TRUE),
- + y = sample(seq(0.5, 19.5, by = 1), 20, replace = TRUE))
- >
- >
- > TempData <- dat[, .(Counting = .N), .(x, y)][order(x, y)]
- > TempData <- TempData[, Counting := cumsum(Counting), x]
- >
- > TempData <- dat[, .(Number = .N), x][TempData, on = "x"]
- >
- > TempData <- TempData[, result := Counting / Number]
- > TempData[, `:=`(Number = NULL, Counting = NULL)]
- >
- > A<-as.matrix(TempData)
- > A
- x y result
- [1,] 10 8.5 0.5000000
- [2,] 10 12.5 1.0000000
- [3,] 16 0.5 0.2500000
- [4,] 16 5.5 0.5000000
- [5,] 16 12.5 0.7500000
- [6,] 16 17.5 1.0000000
- [7,] 22 5.5 0.5000000
- [8,] 22 7.5 1.0000000
- [9,] 28 0.5 0.2000000
- [10,] 28 2.5 0.4000000
- [11,] 28 8.5 0.6000000
- [12,] 28 18.5 0.8000000
- [13,] 28 19.5 1.0000000
- [14,] 34 2.5 0.2500000
- [15,] 34 10.5 0.5000000
- [16,] 34 11.5 0.7500000
- [17,] 34 13.5 1.0000000
- [18,] 40 0.5 0.3333333
- [19,] 40 3.5 0.6666667
- [20,] 40 8.5 1.0000000
- >
Advertisement
Add Comment
Please, Sign In to add comment