相对较新的R和这里非常新的堆叠溢出。
我正试图从显微镜中分析.csv输出文件。
输出将告诉我图像上的每个单元格是“正”(用1表示)还是“否定”(用0表示)。
my_data <- data.frame(cell = 1:4, marker_a = c(1, 0, 0, 0), marker_b = c(0,1,1,1), marker_c = c(0,1,1,0))
有时我们测量4个标记,有时更多。
我已经写了一些东西,给了我一个带有“二手标记”的向量,并丢弃了“未使用的标记”(在本例中,标记e、f、g也显示在.csv文件中)。
我想要自动得到所有可能的组合,一个细胞可以采取。
一个单元格对于所有标记都可以是0,也可以是marker_a阳性,但对于marker_b、marker_c、marker_d是阴性。
我的最终目标是量化属于每个类别/组合的所有单元格。
我想要一个向量来命名每一个可能的组合,从所有带有0值的标记,到所有标记都有一个1值。
到目前为止,我一直在做的是手动生成组合。
no_marker <- my_data$marker_a == 0 & my_data$marker_b == 0 & my_data$marker_c == 0 a_positive <- my_data$marker_a == 1 & my_data$marker_b == 0 & my_data$marker_c == 0...
然后,我可以创建一个data.frame,以便稍后添加更多的示例。
cell_phenotypes <- c("no_marker", "a_positive", "ab_positive", "abc_positive", "abcd_positive", "b_ positive", "bc_positive"...)
我只是不想每次都手工创建向量。
发布于 2016-10-10 16:32:33
听起来你想要expand.grid。
expand.grid(
marker_a = c(0, 1),
marker_b = c(0, 1),
marker_c = c(0, 1),
marker_d = c(0, 1)
)
#> marker_a marker_b marker_c marker_d
#> 1 0 0 0 0
#> 2 1 0 0 0
#> 3 0 1 0 0
#> 4 1 1 0 0
#> 5 0 0 1 0
#> 6 1 0 1 0
#> 7 0 1 1 0
#> 8 1 1 1 0
#> 9 0 0 0 1
#> 10 1 0 0 1
#> 11 0 1 0 1
#> 12 1 1 0 1
#> 13 0 0 1 1
#> 14 1 0 1 1
#> 15 0 1 1 1
#> 16 1 1 1 1请注意,16是正确的数字;您可以检查自2**4 = 16。
https://stackoverflow.com/questions/39962669
复制相似问题