For loop over唯一值不起作用
我知道这个问题已经准备好了一些问题的主题,我也尝试了同样的方法,但我没有得到我想要的结果。。。我相信有人能帮我解决我的问题;)这里有一个小例子: 在我的“结果矩阵”中,我在每个列中得到相同的值,但我需要每个m的值 提前谢谢For loop over唯一值不起作用,r,R,我知道这个问题已经准备好了一些问题的主题,我也尝试了同样的方法,但我没有得到我想要的结果。。。我相信有人能帮我解决我的问题;)这里有一个小例子: 在我的“结果矩阵”中,我在每个列中得到相同的值,但我需要每个m的值 提前谢谢 n=5 result = matrix(NA,ncol = 3 ,nrow = 5) y=cbind(3,5,6,7,9) mth = c(1,5,10) for(m in 1:length(unique(mth))){ if (m==1) {d0 = 2} if (
n=5
result = matrix(NA,ncol = 3 ,nrow = 5)
y=cbind(3,5,6,7,9)
mth = c(1,5,10)
for(m in 1:length(unique(mth))){
if (m==1) {d0 = 2}
if (m==5) {d0 = 5}
if (m==10) {d0 = 9 }
result[,m] = d0%*% y}
我想你弄乱了索引和
mth
的值
如果说for(m in 1:length(unique(mth))
,m
将取值13
,因为向量mth
的长度为3
我在代码的mth
向量中添加了索引(例如,mth[m]
将在第一次迭代中m
为1
时,为您提供mth
的第一个值,依此类推),现在它将为您提供预期的结果
n=5
result = matrix(NA,ncol = 3 ,nrow = 5)
y=cbind(3,5,6,7,9)
mth = c(1,5,10)
for(m in 1:length(unique(mth))){
if (mth[m]==1) {d0 = 2}
if (mth[m]==5) {d0 = 5}
if (mth[m]==10) {d0 = 9 }
result[,m] = d0%*% y}
我想你弄乱了索引和
mth
的值
如果说for(m in 1:length(unique(mth))
,m
将取值13
,因为向量mth
的长度为3
我在代码的mth
向量中添加了索引(例如,mth[m]
将在第一次迭代中m
为1
时,为您提供mth
的第一个值,依此类推),现在它将为您提供预期的结果
n=5
result = matrix(NA,ncol = 3 ,nrow = 5)
y=cbind(3,5,6,7,9)
mth = c(1,5,10)
for(m in 1:length(unique(mth))){
if (mth[m]==1) {d0 = 2}
if (mth[m]==5) {d0 = 5}
if (mth[m]==10) {d0 = 9 }
result[,m] = d0%*% y}
您是否可以显示预期的outputm是一个获取值1、2、3的计数器。它永远不会达到5,所以很明显你总是得到相同的数字。将
m
替换为循环中的mth[m]
,您就可以开始了。您能否显示预期输出m是一个获取值1、2、3的计数器。它永远不会达到5,所以很明显你总是得到相同的数字。将m
替换为循环中的mth[m]
,就可以开始了。