缩小我的数据帧的数量看起来是这样的:R:汇总列名称的列表映射到基于行关在一个数据帧的条件
+---+------------+-------------+
| | Label1 | Label2 |
+---+------------+-------------+
| 1 | T | F |
| 2 | F | F |
| 3 | T | T |
+---+------------+-------------+
我需要创建一个映射列表的列表列名称作为其所有具有假布尔值的行号。对于上面的例子会是这个样子:
{ “Label1的”:(2), “Label2的”:(1,2)}
目前我正在做它像这样:
myList = with(data.frame(which(!myDataFrame, arr.ind = TRUE)), list("colNames" = names(myDataFrame)[col], "rows" = row))
l = list()
count = 1;
for (i in myList[["colNames"]]) {
tmpRowNum = myList[["rows"]][[count]];
tmpList = l[[i]];
if (is.null(tmpList)) {
tmpList = list();
}
l[[i]] = c(tmpList, list(tmpRowNum))
count = count + 1;
}
这是行不通的,但因为我是新来的RI,只能假设有一个更有效的方法来做这件事。 with函数创建了两个单独的列表,我必须将它们组合才能得到我期待的结果。
正是我需要的...惊人的R和Python可以做一些事情有多短... – scott13
是否有可能,它可以在相反的方向进行?将rownumber映射到它具有错误值的列名称列表? – scott13
@ scott13看我的编辑。 –