小编Pau*_*aul的帖子

将函数应用于两个列表?

为了找到两个矩阵X和Y的行方向相关性,输出应该具有X的行1和Y的行1的相关值,...因此总共十个值(因为有十行):

X <- matrix(rnorm(2000), nrow=10)
Y <- matrix(rnorm(2000), nrow=10)

sapply(1:10, function(row) cor(X[row,], Y[row,]))
Run Code Online (Sandbox Code Playgroud)

现在,我应该如何将此函数应用于两个列表(每个包含大约50个数据帧)?

考虑列表A具有数据帧$ 1,$ 2,$ 3 ......等等,列表B具有相似数量的数据帧$ 1,$ 2,$ 3.因此,功能应适用于listA$1,listB$1listA$2,listB$2在列表中的其他dataframes ...等等.最后,我将在比较1(listA$1listB$1)和其他人的情况下有十个值.

这可以用"lapply"来完成吗?

r parameter-passing apply mapply

25
推荐指数
1
解决办法
2万
查看次数

将形状分配给相关圆图中的变量

我想知道是否可以为绘图中的列名设置不同的形状而不是标签.我已经展示了一个可重复的例子来获得该图.

#dataset
mtcars

#split the data into different blocks
a<-mtcars[,1:3]
b<-mtcars[,4:6]
c<-mtcars[,7:9]
d<-mtcars[,10:11]

### create a list of dataframes
A<-list(blockA=a, blockB=b,blockC=c,blockD=d)

### design matrix
C <- matrix(c(0, 0, 0, 0,  
              0, 0, 0, 0, 
              0, 0, 0, 0, 
              1, 1, 1, 1), 4, 4)
tau = c(1, 1, 1, 1)
library(mixOmics)

##### computing the sGCCA
wrap.result.sgcca = wrapper.sgcca(data = A, design = C, penalty = rep(1, length(A)),
  ncomp = c(2, 2, 2,2), scheme = "centroid", verbose = FALSE)

##### visualization …
Run Code Online (Sandbox Code Playgroud)

r data-visualization pch

6
推荐指数
0
解决办法
399
查看次数

为数据集逐行应用函数

希望能够清楚地解释我想做什么.

我有一个矩阵

  Z<-matrix(sample(1:40),ncol=4)

 colnames(Z)<-c("value","A","B","C")

 I would like to apply the following formula to each row in the dataset.


  Process = value - rowmean (A,B,C)
           ------------------------------------
           row-wise Standard deviation (A,B,C)         
Run Code Online (Sandbox Code Playgroud)

我想到了类似于计算所有内容的东西

首先对数据进行子集

   onlyABC<-Z[,1:3]
Run Code Online (Sandbox Code Playgroud)

然后将rowMeans应用于每一行

     means<-apply(onlyABC,1,rowMeans)
Run Code Online (Sandbox Code Playgroud)

并且类似地分别计算标准偏差

    deviate<-apply(onlyABC,1,SD)
Run Code Online (Sandbox Code Playgroud)

然后我现在不知道如何从'means'中减去矩阵'z'中的value列,然后除以'deviate'.

有没有更简单的方法来做到这一点?

作为一个例子,将公式应用于第一行将给出:

 row1  32-(19+35+4/3)
       --------------
        SD(19+35+4)
Run Code Online (Sandbox Code Playgroud)

类似地,也可以将公式应用于其他行,最后获得大小为10的向量.

r

4
推荐指数
1
解决办法
2万
查看次数

在R中将矩阵转换为灰度图像

我有以下向量:

 vec<-as.vector(rnorm(1:924))
Run Code Online (Sandbox Code Playgroud)

并希望将其重塑为33 X 28形式的矩阵。然后将该矩阵转换为类似图像的灰度像素。

在MATLAB中,我知道存在imagescimshow可以将矩阵转换为图像。R中有类似的东西吗?

另外,可以像在MATLAB中那样针对灰度强度来调整均值和最大值吗?

r image image-processing

4
推荐指数
1
解决办法
5542
查看次数

将连续数字附加到文件名

我有一个像文件的列表

Ortho234.phy
Ortho671.phy
Ortho880.phy and so on
Run Code Online (Sandbox Code Playgroud)

我想将它们重命名为数组作业

Ortho234.1.phy
Ortho671.2.phy
Ortho880.3.phy
Run Code Online (Sandbox Code Playgroud)

我试过这个但是这个替换并将文件命名为1.phy,2.phy等等.

 a=1
 for i in *.phy; do
     new=$(printf "%04d.phy" "$a") 
     mv -- "$i" "$new"
     let a=a+1
 done
Run Code Online (Sandbox Code Playgroud)

awk for-loop sed

2
推荐指数
1
解决办法
140
查看次数

使用文本文件中的前缀重命名文件

我有一组名为的文件

sample_exp_A1_A01
sample_exp_A2_A02
sample_exp_A3_A03
sample_exp_A4_A04
sample_exp_A5_A05
Run Code Online (Sandbox Code Playgroud)

我有一个包含以下值的文本文件

A01 170
A02 186
A03 165
A04 130
A05 120
Run Code Online (Sandbox Code Playgroud)

我想根据文本文件值重命名文件

FS_170_sample_exp_A1_A01
FS_186_sample_exp_A2_A02
FS_165_sample_exp_A3_A03
FS_130_sample_exp_A4_A04
FS_120_sample_exp_A5_A05
Run Code Online (Sandbox Code Playgroud)

所以在文本文件基础上匹配的ID A01A02A03A04然后添加相应的数字作为前缀的文件名.此外,还为所有文件名添加前缀,FS如上所示.

我手动尝试这样做,但一次只能用于一个文件

rename 's/^/FS_170_/' *A01 
Run Code Online (Sandbox Code Playgroud)

要得到

FS_170_sample_exp_A1_A01
Run Code Online (Sandbox Code Playgroud)

regex awk sed

1
推荐指数
1
解决办法
54
查看次数

根据R中的多个列选择行

我有这样的数据帧

 M2 <- matrix(c(1,0,0,1,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0),nrow=7, 
  dimnames=list(LETTERS[1:7],NULL)) 
Run Code Online (Sandbox Code Playgroud)

我想根据多列选择行.例如,当我想基于两列选择行时,我做到了

 ans<-M2[which(M2[,1]==0 & M2[,2]==0)
Run Code Online (Sandbox Code Playgroud)

但是当我想只根据三列或四列选择那些零值的行时,比如说基于1,3和4列,或者说1,2,3,4,我该怎么做?

r

0
推荐指数
1
解决办法
1万
查看次数