我有两个StringBuilder对象,我需要在Java中比较它们.我知道我能做的一种方式是
sb1.toString().equals(sb2.toString());
Run Code Online (Sandbox Code Playgroud)
但这意味着我正在创建两个String对象,有没有更好的方法来比较StringBuilder对象.可能你不需要创建其他对象的东西?
我在R中有一个稀疏矩阵
我现在希望在R上执行非负矩阵分解
data.txt是我使用python创建的文本文件,它由3列组成,其中第一列指定行号,第二列指定列号,第三列指定值
data.txt中
1 5 10
3 2 5
4 6 9
Run Code Online (Sandbox Code Playgroud)
原始data.txt包含164009行,这是250000x250000稀疏矩阵的数据
我使用NMF库而且我正在做
>x=scan('data.txt',what=list(integer(),integer(),numeric()))
>library('Matrix')
>R=sparseMatrix(i=x[[1]],j=x[[2]],x=x[[3]])
>res<-nmf(R,3)
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误函数错误(classes,fdef,mtable):无法找到函数nmf的继承方法,签名"dgCMAtrix","missing","missing"
任何人都可以帮我弄清楚我做错了什么
嗨我有一个文件结构如下
12 45 56
34 65 31
12 23 43
Run Code Online (Sandbox Code Playgroud)
等我有一个庞大的数据集
所以我有3列的文本文件,但我想创建稀疏矩阵的方式是每行说12 45 56 .....第一个数字即行第二个数字,即45是列和第三个数字(即56)是稀疏矩阵的第12行和第45列的值
我做了以下事情
>x = scan('data.txt',what=list(integer(),integer(),numeric()))
Read 61944406 records
> library('Matrix')
Loading required package: lattice
N
> N= sparseMatrix(i=x[[1]],j=x[[2]],x=x[[3]])
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误
Error in validObject(r) :
invalid class “dgTMatrix” object: all row indices (slot 'i') must be between 0 and nrow-1 in a TsparseMatrix
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我弄清楚我做错了什么?