列表中每个矩阵的for循环
我正在尝试将以下for循环应用于列表中的每个矩阵列表中每个矩阵的for循环,r,list,dataframe,for-loop,R,List,Dataframe,For Loop,我正在尝试将以下for循环应用于列表中的每个矩阵per\u d,并创建一个名为per\u-hole的新列表。我不知道怎么做,我应该使用lapply吗 非常感谢您的帮助 per_hole <- per_d for (i in 1:S) { for (j in 1:t){ if (per_hole [i,j] > CS) { per_hole [i,j] <- per_hole [i,j] - rnorm (1, mean = 1, sd = 0.5)
per\u d
,并创建一个名为per\u-hole
的新列表。我不知道怎么做,我应该使用lapply吗
非常感谢您的帮助
per_hole <- per_d
for (i in 1:S) {
for (j in 1:t){
if (per_hole [i,j] > CS) {
per_hole [i,j] <- per_hole [i,j] - rnorm (1, mean = 1, sd = 0.5)
} else {
per_hole [i,j] <- per_hole [i,j] + rnorm (1, mean = 1, sd = 0.5)
}}}
per_孔CS){
每孔[i,j]你可以试试
per_hole <- lapply(per_d,function(x) x + ifelse(x>CS,-1,1)*rnorm(prod(dim(x)),1,0.5))
per_-hole CS,-1,1)*rnorm(产品尺寸(x)),1,0.5))
或
per_-hole CS),0.5)
Hi,这个解决方案真的很聪明!谢谢!我还可以问一下,如果我想“如果x属于第4行,返回0,我应该怎么做?”我尝试了per_-hole CS,-1,1))*rnorm(prod(dim(x)),1,0.5))
@KennyYu Tryper_-hole CS,0.5)*替换(rep(1,nrow(x),4,0))
这个错误消息在rep(rep(1,nrow(x),4,0))中弹出了错误消息:参数“values”丢失,没有默认值。我想这是因为peru_d是一个包含多个数据帧的列表?@KennyYu抱歉,我的错。我输入了一个错误。下面是一个可以工作的replace(rep(1,nrow(x)),4,0)
@KennyYurep(rep(1,nrow(x)),4,0)
创建除第四位以外的1矢量。我们将其用作掩码,以使第四行为零。
per_hole <- lapply(per_d,function(x) x + ifelse(x>CS,-1,1)*rnorm(prod(dim(x)),1,0.5))
per_hole <- lapply(per_d, function(x) x + rnorm(prod(dim(x)), 1-2*(x > CS), 0.5))