【发布时间】:2014-03-27 09:46:04
【问题描述】:
我有一个数据框,我想选择所有满足特定条件的行,例如 !=0。我可以为每一列做这件事,但它确实排得很长。
df.Individual <- df.category[df.category[,10]!=0 & df.category[,9]!=0 ........ & df.category[,2]!=0, ][,1]
我想选择一组这样的列,但我不知道怎么做!
df.category[df.category[,c(10:5)]!=0 & c(6:2)]>0 ][,1]
谢谢!
structure(list(Individual = structure(1L, .Label = c("aaa"), class = "factor"), `Class1` = 1L,
`Class2` = 0L, `Class3` = 1L, `Class4 ` = 2L, `Class5` = 3L, `Class6` = 1L, Class7 = 1L, Class8 = 1L, Class9 = 1L), .Names = c("Individual",
"Class1", "Class2", "Class3", "Class4", "Class5", "Class6", "Class7", "Class8", "Class9"), row.names = 2L, class = "data.frame")
编辑:
我需要获取所有列组合。类似于 for 循环的东西。我想要一个为他们的班级排序的个人列表,用作ggplot y轴上的因子水平
例如。但这里只是列出了一些组合,我想要所有可能的列组合。
df.Individual.1 <- df.category[ df.category[,10]!=0 &
df.category[,9]!=0 &
df.category[,8]!=0 ,] [,1]
df.Individual.2 <- df.category[ df.category[,10]!=0 &
df.category[,9]!=0 &
df.category[,8]<=0 ,] [,1]
df.Individual.3 <- df.category[ df.category[,10]!=0 &
df.category[,9]<=0 &
df.category[,8]!=0 ,] [,1]
df.Individual.4 <- df.category[ df.category[,10]!=0 &
df.category[,9]<=0 &
df.category[,8]<=0 ,] [,1]
unlist(list(df.Individual.1,df.Individual.2,df.Individual.3,df.Individual.4))
最后,我需要一个按班级状态排序的个人列表。 First All Class 是肯定的,第一类是肯定的,另一个是否定的。
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
这里是 3 列的示例。 谢谢!
【问题讨论】:
标签: r