我有一个2行2列的矩阵,并希望放大这个矩阵,使其有4行4列,其中包含相同的值.好像有人会"放大"矩阵.
这是我的2*2矩阵:
a<-matrix(1:4,nrow=2,byrow=TRUE)
[,1] [,2]
[1,] 1 2
[2,] 3 4
Run Code Online (Sandbox Code Playgroud)
我想转换这个矩阵,所以它看起来像这样:
[,1] [,2] [,3] [,4]
[1,] 1 1 2 2
[2,] 1 1 2 2
[3,] 3 3 4 4
[4,] 3 3 4 4
Run Code Online (Sandbox Code Playgroud)
我简化了问题:矩阵中的值只是一个例子.我要转换的真实矩阵由10行和10列组成,应该转换为30行和30列,但原理应该相同.
我即将通过循环来解决这个问题,但我确信必须有一个更优雅的方式.
我想将使用科学记数法和逗号作为小数分隔符的 csv 文件读取到数据框或向量中。然后我想使用这些数据进行进一步的计算。问题是 R 无法将数据识别为数字。如何将带有逗号的科学记数法转换为带有点的“正确”科学记数法,以便我可以用作数值?
我尝试了以下方法:
mferg_1<-read.csv("file.csv",sep=";",dec=",",header=FALSE)
当我查看数据框时,mferg_1会出现以下内容(摘录):
V2 V3 V4 V5
14 3,063E+01 1,775E-02 6,641E-07 3,747E-02
Run Code Online (Sandbox Code Playgroud)
gsub我认为我可以使用or替换逗号sub:
mferg_1<-sub(",",".",mferg_1)
但接下来mferg_1看起来像这样:
[1] "425" "388" "535" "472"
Run Code Online (Sandbox Code Playgroud)
我担心有一个简单的方法可以解决这个问题,但我还没有找到。