这是我的样本数据
> matrix
a b c d
W_1_N NA NA NA NA
W_1_E 2 2 2 4
W_1_C 4 2 2 4
W_1_D NA NA NA NA
我必须组合矩阵中的元素来获取它们的列名对,其中一个元素是4,另一个元素是同一行中的2个。
结果看起来应该是这样的
W_1_E d a
W_1_E d b
W_1_E d c
W_1_C a b
W_1_C a c
W_1_C d b
W_1_C d c
我只想要一对,其中一个元素是4,另一个元素是同一行中的2。 W_1_N
和W_1_D
只有NA
因此被忽略了。 W_1_E
出现在3行中,因为样本数据中有3对(4,2)行。W_1_C
有4对。我尝试过循环,但我不知道data.frame
中应该包含什么。
for (i in row(matrix)){
for (j in col(matrixz)){
if (matrix[i,j]==4){
ram=data.frame(
)
}
}
}
非常感谢你的帮助。
答案 0 :(得分:2)
这是一个想法:
object SomeComp {
trait Props{
type T
val t: T
val onChange: T => Callback
}
// use Props#T if you need to reference T
val component = ReactComponentB[Props]("SomeComp")...
def apply[_T](_t: _T, _onChange: _T => Callback) = {
val props = new Props {
type T = _T
val t = _t
val onChange = _onChange
}
component(props)
}
}
给出了:
library(tidyverse)
lst <- data.frame(m) %>%
rownames_to_column("rn") %>%
drop_na() %>%
gather(key, value, -rn) %>%
group_by(rn, value) %>%
summarise(l = list(unique(key))) %>%
split(.$rn)
do.call("rbind", lapply(lst, function(x) expand.grid(x$l[[1]], x$l[[2]])))
数据强>
# Var1 Var2
#W_1_C.1 b a
#W_1_C.2 c a
#W_1_C.3 b d
#W_1_C.4 c d
#W_1_E.1 a d
#W_1_E.2 b d
#W_1_E.3 c d