使用公式从数据框制作简单的表格

  • 本文关键字:简单 表格 数据 r
  • 更新时间 :
  • 英文 :


我有一个72行72列的大数据帧。都是数字。我只想做一个表,第一行的和乘以第一列的和,依此类推。例如,如果这是我的df

x0 <- c(0,0,11,0)
x0.1 <- c(0,251,0,0)
x0.2 <- c(0,495,0,0)
x0.4 <- c(0,0,0,6)
df <- data.frame(x0,x0.1,x0.2,x0.4)

我想让我的桌子看起来像这个

1 0
2 124911
3 5445
4 36

您要查找的是:吗

rowSums(df)*colSums(df)

使用sapply的解决方案:

sapply(1:nrow(df), function(i){sum(df[i,]*sum(df[,i]))})

这里有一个tidyverse方法:

library(dplyr)
library(tidyr)
df %>% 
unite(x, c(x0, x0.1, x0.2, x0.4), sep = "") %>% 
mutate(x = sub("^0+(?!$)", "", x, perl=TRUE))
x
1       0
2 2514950
3   11000
4       6

最新更新