我使用以下命令从 R 导出数据:
write.table(output,file = "data.raw", na "-9999", sep = "\t", row.names = FALSE, col.names = FALSE)
它正确导出我的数据,但它将所有逻辑变量导出为TRUE
and FALSE
.
我需要将数据读入另一个只能处理数值的程序。有没有高效的转换方法logical
导出期间将列转换为数字 1 和 0?我有大量的数值变量,所以我希望自动循环 data.table 中的所有变量
或者,我的输出对象是data.table
。有没有一种有效的方法来转换a中的所有逻辑变量data.table
转化为数值变量?
如果有帮助,这里有一些代码来生成data.table
其中有一个逻辑变量(逻辑变量的数量不是很多,但足以在示例代码中使用):
DT = data.table(cbind(1:100, rnorm(100) > 0)
DT[ , V3:= V2 == 1 ]
DT[ , V4:= V2 != 1 ]
最简单的方法来做到这一点!
将矩阵乘以 1
例如:
A <- matrix(c(TRUE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE),ncol=4)
A
# [,1] [,2] [,3] [,4]
# [1,] TRUE TRUE TRUE FALSE
# [2,] FALSE TRUE FALSE TRUE
B <- 1*A
B
# [,1] [,2] [,3] [,4]
# [1,] 1 1 1 0
# [2,] 0 1 0 1
(您也可以添加零:B <- 0 + A
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)