使用' 0'删除行来自" univariateTable'

时间:2016-01-25 15:03:39

标签: r export-to-csv

我有一个由虚拟变量(1' s和0' s)组成的表,如下所示:

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

我使用图书馆&#39; Publish&#39;在Github上

library(Publish)
univariateTable(gender~alpha+beta+gamma+delta+lambda,data=df)

输出包含行中的1&0和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

显然,我可以继续手动删除所有奇数行,但我想知道是否有自动方式来做到这一点。

而且,理想情况下,摆脱&#34;级别&#34;会很好。专栏。

1 个答案:

答案 0 :(得分:1)

这应该有效:

cbind(subset(df,level=0,Variable),subset(df,level=1,3:6))

我将变量列并排放置,作为df的子集,其中level = 0,以及df的第3列到第6列的子集,此时filered在level = 1上。

相关问题