Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R循环:以间隔显示数字_R_Loops_Count_Range_Intervals - Fatal编程技术网

R循环:以间隔显示数字

R循环:以间隔显示数字,r,loops,count,range,intervals,R,Loops,Count,Range,Intervals,我有一个数据集,我想用R显示col3计算的col1和col2之间每一行的数字: dataset=data.frame(col1=c(3,9,15), col2=c(4,11,16), col3=c(2,3,2)) 我的结果应该是: 3 3 4 4 9 9 9 10 10 10 11 11 11 15 15 16 16 看起来很琐碎,但我无法得到一个循环的工作。谢谢。试试这个: col1=c(3,9,15) col2=c(4,11,16) col3=c(2,3,2) res = NULL fo

我有一个数据集,我想用R显示col3计算的col1和col2之间每一行的数字:

dataset=data.frame(col1=c(3,9,15), col2=c(4,11,16), col3=c(2,3,2))
我的结果应该是:

3
3
4
4
9
9
9
10
10
10
11
11
11
15
15
16
16
看起来很琐碎,但我无法得到一个循环的工作。谢谢。

试试这个:

col1=c(3,9,15)
col2=c(4,11,16)
col3=c(2,3,2)
res = NULL
for (k in 1:length(col1)){
    res = c(res, sort(rep(col1[k]:col2[k],col3[k])))
}
结果:

> res
 [1]  3  3  4  4  9  9  9 10 10 10 11 11 11 15 15 16 16

也可以通过
apply

unlist(apply(dataset, 1, function(x) rep(x[1]:x[2], 
       each=x[3])))
#[1]  3  3  4  4  9  9  9 10 10 10 11 11 11 15 15 16 16

unlist(Map('rep',Map(`:`,dataset[,1],dataset[,2]),each=dataset[,3])
谢谢rawr。这行代码很有效。太棒了!谢谢你的帮助。@Nanuk没问题。很高兴帮助你。