为了找到两个矩阵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$1并listA$2,listB$2在列表中的其他dataframes ...等等.最后,我将在比较1(listA$1和listB$1)和其他人的情况下有十个值.
这可以用"lapply"来完成吗?
我想知道是否可以为绘图中的列名设置不同的形状而不是标签.我已经展示了一个可重复的例子来获得该图.
#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) 希望能够清楚地解释我想做什么.
我有一个矩阵
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的向量.
我有以下向量:
vec<-as.vector(rnorm(1:924))
Run Code Online (Sandbox Code Playgroud)
并希望将其重塑为33 X 28形式的矩阵。然后将该矩阵转换为类似图像的灰度像素。
在MATLAB中,我知道存在imagesc和imshow可以将矩阵转换为图像。R中有类似的东西吗?
另外,可以像在MATLAB中那样针对灰度强度来调整均值和最大值吗?
我有一个像文件的列表
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) 我有一组名为的文件
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 A01或A02或A03或A04然后添加相应的数字作为前缀的文件名.此外,还为所有文件名添加前缀,FS如上所示.
我手动尝试这样做,但一次只能用于一个文件
rename 's/^/FS_170_/' *A01
Run Code Online (Sandbox Code Playgroud)
要得到
FS_170_sample_exp_A1_A01
Run Code Online (Sandbox Code Playgroud) 我有这样的数据帧
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,我该怎么做?