从 'univariateTable' 生成的 table 中删除具有“0”值的行
Removing rows with '0' values from a table generated by 'univariateTable'
我有一个 table 由虚拟变量(1 和 0)组成,如下所示:
colnames<-c("gender","alpha","beta","gamma","delta","lambda")
row1<-c("male",0,1,0,1,0)
row2<-c("male",1,0,1,1,0)
row3<-c("female",1,0,1,0,0)
row4<-c("male",0,1,1,0,1)
row5<-c("female",0,1,0,1,0)
row6<-c("male",1,1,0,1,0)
df<-as.data.frame(rbind(row1,row2,row3,row4,row5,row6))
names(df)<-colnames
rownames(df) <- NULL
我在 Github
上使用库 'Publish' 将其形成 table
library(Publish)
univariateTable(gender~alpha+beta+gamma+delta+lambda,data=df)
输出的行中同时包含 1 和 0,但出于显而易见的原因我只想要 1
Variable Level female (n=2) male (n=4) Total (n=6) p-value
1 alpha 0 1 (50.0) 2 (50.0) 3 (50.0)
2 1 1 (50.0) 2 (50.0) 3 (50.0) 1
3 beta 0 1 (50.0) 1 (25.0) 2 (33.3)
4 1 1 (50.0) 3 (75.0) 4 (66.7) 1
5 gamma 0 1 (50.0) 2 (50.0) 3 (50.0)
6 1 1 (50.0) 2 (50.0) 3 (50.0) 1
7 delta 0 1 (50.0) 1 (25.0) 2 (33.3)
8 1 1 (50.0) 3 (75.0) 4 (66.7) 1
9 lambda 0 2 (100.0) 3 (75.0) 5 (83.3)
10 1 0 (0.0) 1 (25.0) 1 (16.7) 1
显然,我可以继续手动删除所有奇数行,但我想知道是否有自动方法来执行此操作。
而且,理想情况下,最好同时删除 "level" 列。
应该可行:
cbind(subset(df,level=0,Variable),subset(df,level=1,3:6))
我将变量列并排放置,作为级别 = 0 的 df 的子集,以及 df 的第 3 至 6 列的子集,这次在级别 = 1 上归档。
我有一个 table 由虚拟变量(1 和 0)组成,如下所示:
colnames<-c("gender","alpha","beta","gamma","delta","lambda")
row1<-c("male",0,1,0,1,0)
row2<-c("male",1,0,1,1,0)
row3<-c("female",1,0,1,0,0)
row4<-c("male",0,1,1,0,1)
row5<-c("female",0,1,0,1,0)
row6<-c("male",1,1,0,1,0)
df<-as.data.frame(rbind(row1,row2,row3,row4,row5,row6))
names(df)<-colnames
rownames(df) <- NULL
我在 Github
上使用库 'Publish' 将其形成 tablelibrary(Publish)
univariateTable(gender~alpha+beta+gamma+delta+lambda,data=df)
输出的行中同时包含 1 和 0,但出于显而易见的原因我只想要 1
Variable Level female (n=2) male (n=4) Total (n=6) p-value
1 alpha 0 1 (50.0) 2 (50.0) 3 (50.0)
2 1 1 (50.0) 2 (50.0) 3 (50.0) 1
3 beta 0 1 (50.0) 1 (25.0) 2 (33.3)
4 1 1 (50.0) 3 (75.0) 4 (66.7) 1
5 gamma 0 1 (50.0) 2 (50.0) 3 (50.0)
6 1 1 (50.0) 2 (50.0) 3 (50.0) 1
7 delta 0 1 (50.0) 1 (25.0) 2 (33.3)
8 1 1 (50.0) 3 (75.0) 4 (66.7) 1
9 lambda 0 2 (100.0) 3 (75.0) 5 (83.3)
10 1 0 (0.0) 1 (25.0) 1 (16.7) 1
显然,我可以继续手动删除所有奇数行,但我想知道是否有自动方法来执行此操作。
而且,理想情况下,最好同时删除 "level" 列。
应该可行:
cbind(subset(df,level=0,Variable),subset(df,level=1,3:6))
我将变量列并排放置,作为级别 = 0 的 df 的子集,以及 df 的第 3 至 6 列的子集,这次在级别 = 1 上归档。