r - 将字符矩阵转换为数字数据框的快速有效方法?
问题描述
原始数据是
df1 = structure(c(3, 5, 0, 0, 5, 8, 6, 8, 0, 0), .Dim = c(5L, 2L))
以下命令为我提供了一个字符矩阵,我需要将其转换为数字数据框。
install.packages("rcdd")
library("rcdd")
foo = makeV(points = d2q(df1))[,-c(1,2)]
什么是最快的方法,因为它在循环中使用并且意味着重复多次?
解决方案
我不认为这是最好的方法,但我发布了它,至少它同时作为节拍的参考:
library("rcdd")
library(microbenchmark)
df1 = structure(c(3, 5, 0, 0, 5, 8, 6, 8, 0, 0), .Dim = c(5L, 2L))
foo = makeV(points = d2q(df1))[,-c(1,2)]
microbenchmark(
data.frame(cbind(as.numeric(foo)[1:nrow(foo)],
as.numeric(foo)[-c(1:nrow(foo))]))
)
平均时间为 105.77 微秒
推荐阅读
- java - JUnit 不读取测试方法
- python - 在不弹出 cmd 的情况下运行 Windows 任务
- python - 即使设置为全局(Python)后变量也没有定义+我该如何处理这种情况?
- python - 熊猫:替换缺失的数据框值/条件计算:fillna
- r - 如何将MATLAB函数转换为R函数?
- java - 高效的 Java 集合,用于分析来自具有数百万条记录的 CSV 文件的输入
- merge - Power Query:当计数应该从更高的值开始时,一些值从零开始计数
- java - Java - 使用类 Object 作为通用参数创建通用列表?
- azure - Azure 中的跨订阅专用终结点
- python - 将数据从一个表提交到另一个表