我有一个昏暗的数据表(133 x 24) 我只想查看元素大于指定值的表。
foreach (string filePath in filePaths)
{
BarraDeProgresso.Visible = true;
PegarMeuFicheiro = filePath;
// here is where im tryng to do it. but isn´tworking as i expected.
lbMostrarItems.Items.Add(String.Format("{0, 5} {1, 30}",PegarMeuFicheiro.Substring(9 + nome.Length + 20, PegarMeuFicheiro.Length - (9 + nome.Length + 20)),"Size"));
//lbMostrarItems.SelectedIndex = lbMostrarItems.Items.Count - 1;
}
假设许多值<4且我有10个大于5的值我希望看到:
C1 .....C24
R1
...
...
...
R133
对于大于我指定的所有元素。这些代表了我的数据集中需要特别关注的热点。
示例数据
(R1,C11) = 9
(R38,C5) = 11
(R90,C20) = 20
....
答案 0 :(得分:3)
您可以根据dt
的逻辑摘要的属性和值创建新的数据框。
x <- dt >= 5
data.frame(
row = rownames(x)[row(x)[x]],
col = colnames(x)[col(x)[x]],
val = dt[x]
)
# row col val
# 1 R1 C1 15
# 2 R1 C2 5
# 3 R2 C2 5
# 4 R3 C2 8
# 5 R3 C3 16
# 6 R4 C4 9
如果你想要有点想象,你可以Map()
超过dimnames()
。
data.frame(Map("[", dimnames(x), list(row(x)[x], col(x)[x])), val = dt[x])
# R C val
# 1 R1 C1 15
# 2 R1 C2 5
# 3 R2 C2 5
# 4 R3 C2 8
# 5 R3 C3 16
# 6 R4 C4 9