【发布时间】:2018-07-17 07:40:36
【问题描述】:
我在 R 中有一个数据框,它有(例如)10 行和 10 列。数据框中的值将是 0 或 1。
例如
1 0 0 1 0 0 0 0 1 1
0 1 0 1 0 1 0 1 0 1
...
现在我想以这种格式将此数据输出到一个新文件中
1 1
1 4
1 9
1 10
2 2
2 4
2 6
2 8
2 10
....
这里的输出格式是(行索引,列索引),其中值为1。
我在“for”循环中执行此操作,但处理速度太慢。是否有任何向量/矩阵运算或其他可以更快完成的包?
提前致谢。
【问题讨论】:
-
which(dat==1, arr.ind=TRUE)应该这样做。基本上是 stackoverflow.com/questions/7507765/… 或 stackoverflow.com/questions/7204016/… 的副本,除非您需要更多内容。 -
@thelatemail 谢谢。它起作用了,只需要在 which() 的结果之后进行排序即可进行逐行排序。