添加包含R中重复字符串数总和的行
我想知道每列上有多少个零(“0”)。如何生成一行,该行包含每列上“0”和非零的数量之和添加包含R中重复字符串数总和的行,r,dplyr,R,Dplyr,我想知道每列上有多少个零(“0”)。如何生成一行,该行包含每列上“0”和非零的数量之和 Name <- c("G1", "G2", "G3", "G4","G5", "G6") Obs1 <- c(0, 1, 4, 7, 0, 2) Obs2 <- c(6, 1, 0, 3, 0, 1) Obs3 <- c(0, 0, 0, 8, 0, 0) df &l
Name <- c("G1", "G2", "G3", "G4","G5", "G6")
Obs1 <- c(0, 1, 4, 7, 0, 2)
Obs2 <- c(6, 1, 0, 3, 0, 1)
Obs3 <- c(0, 0, 0, 8, 0, 0)
df <- data.frame(Name, Obs1, Obs2, Obs3)
您可以使用
colSums
计算每列中的零值和非零值
data <- data.frame(Name = c('Zero', 'Non-zero'),
rbind(colSums(df[-1] == 0), colSums(df[-1] != 0)))
rbind(data, df)
# Name Obs1 Obs2 Obs3
#1 Zero 2 2 5
#2 Non-zero 4 4 1
#3 G1 0 6 0
#4 G2 1 1 0
#5 G3 4 0 0
#6 G4 7 3 8
#7 G5 0 0 0
#8 G6 2 1 0
您可以使用
colSums
计算每列中的零值和非零值
data <- data.frame(Name = c('Zero', 'Non-zero'),
rbind(colSums(df[-1] == 0), colSums(df[-1] != 0)))
rbind(data, df)
# Name Obs1 Obs2 Obs3
#1 Zero 2 2 5
#2 Non-zero 4 4 1
#3 G1 0 6 0
#4 G2 1 1 0
#5 G3 4 0 0
#6 G4 7 3 8
#7 G5 0 0 0
#8 G6 2 1 0
使用基数R
df <- rbind(sapply(df, function(x) sum(x == 0)), sapply(df, function(x) sum(x != 0)),df)
df$Name[c(1,2)] <- c('Zero','Non-Zero')
df
Name Obs1 Obs2 Obs3
1 Zero 2 2 5
2 Non-Zero 4 4 1
3 G1 0 6 0
4 G2 1 1 0
5 G3 4 0 0
6 G4 7 3 8
7 G5 0 0 0
8 G6 2 1 0
>
df使用基本R
df <- rbind(sapply(df, function(x) sum(x == 0)), sapply(df, function(x) sum(x != 0)),df)
df$Name[c(1,2)] <- c('Zero','Non-Zero')
df
Name Obs1 Obs2 Obs3
1 Zero 2 2 5
2 Non-Zero 4 4 1
3 G1 0 6 0
4 G2 1 1 0
5 G3 4 0 0
6 G4 7 3 8
7 G5 0 0 0
8 G6 2 1 0
>
df