我有这样R:转换矩阵为YES,NO数据帧
df <- matrix(c(rep(1,3),rep(2,3)),nrow=3,ncol=2)
df:
[,1] [,2]
[1,] 1 2
[2,] 1 2
[3,] 1 2
我想每一个单元格的值转换为YES
,如果大于0矩阵,否则NO
我明白,我能做到这一点使用
apply(df, 2, function(x) ifelse(x > 0, "Yes","No"))
但是我矩阵是非常巨大的(百万* 5000),因此使用应用需要疯狂大的时间
我也曾尝试
df <- ifelse(df > 0, "Yes","No")
然而,即使这需要大量的时间
我能实现这个更好的性能?
为什么你需要''是“/”否“'。只要做'df> 0'并且得到'TRUE/FALSE'而不是 –
你试过用'replace'吗? – Bati
@Bati:替换可以用于每个列(向量),我需要为所有列做这个,它会有帮助吗? –