按组R计算值

时间:2018-06-12 12:33:25

标签: r dataframe

我想将以下数据帧转换为数据框,该数据框添加一列索引编号并计算行中的值。像这样:

A  B  C  D  E          value  A  B  C  D  E
1  2  3  4  4              0  2  2  0  1  1
1  4  4  2  1      =>      1  3  0  0  0  2
1  2  2  2  0              2  0  2  2  2  1
0  0  2  0  1              3  0  0  1  1  0
0  0  4  3  2              4  0  1  2  1  1

我几乎是R的初学者,无法弄清楚如何做到这一点。 在此先感谢:)

1 个答案:

答案 0 :(得分:4)

你可以这样做:

df <- read.table(header=TRUE, text=
"A  B  C  D  E
1  2  3  4  4
1  4  4  2  1
1  2  2  2  0
0  0  2  0  1
0  0  4  3  2")
sapply(df+1, tabulate, nbins=5)
# > sapply(df+1, tabulate, nbins=5)
#      A B C D E
# [1,] 2 2 0 1 1
# [2,] 3 0 0 0 2
# [3,] 0 2 2 2 1
# [4,] 0 0 1 1 0
# [5,] 0 1 2 1 1

最终你要更正rownames:

result <- sapply(df+1, tabulate, nbins=5)
rownames(result) <- (1:nrow(result))-1
result