R等同于SAS do-loop
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R等同于SAS do-loop相关的知识,希望对你有一定的参考价值。
为了创建独特的组合,我以前使用下面的SAS代码,我想知道R相当于此。任何人都可以帮我在R做同样的事情,我对R很新,只是探索。
DATA B ;
DO i = 1 to 2 ;
DO j = 1 to 5 ;
DO k = 1 to 4 ;
OUTPUT ;
END ;
END ;
END ;
RUN ;
DATA B ;
SET B ;
IJK = CATX("-",i,j,k) ;
RUN ;
这将给我以下输出:
Obs i j k ijk
1 1 1 1 1-1-1
2 1 1 2 1-1-2
3 1 1 3 1-1-3
4 1 1 4 1-1-4
5 1 2 1 1-2-1
...........
etc
答案
require(dplyr)
expand.grid(i = 1:2, j = 1:5, k = 1:4) %>%
arrange(i, j, k) %>%
mutate(ijk = paste(i, j, k, sep = '-'))
另一答案
你在尝试这样的事吗?
set.seed(2)
Obs <- 1:20
i <- sample(1:2, 20, replace = TRUE)
j <- sample(1:5, 20, replace = TRUE)
k <- sample(1:4, 20, replace = TRUE)
ijk <- paste(i,j,k, sep="-")
B <- data.frame(Obs,i,j,k,ijk); B
# Obs i j k ijk
# 1 1 1 4 4 1-4-4
# 2 2 2 2 2 2-2-2
# 3 3 2 5 1 2-5-1
# 4 4 1 1 1 1-1-1
# 5 5 2 2 4 2-2-4
# 6 6 2 3 4 2-3-4
# 7 7 1 1 4 1-1-4
# 8 8 2 2 2 2-2-2
# 9 9 1 5 3 1-5-3
# 10 10 2 1 4 2-1-4
# 11 11 2 1 1 2-1-1
# 12 12 1 1 1 1-1-1
# 13 13 2 5 3 2-5-3
# 14 14 1 5 4 1-5-4
# 15 15 1 3 2 1-3-2
# 16 16 2 4 4 2-4-4
# 17 17 2 5 4 2-5-4
# 18 18 1 2 4 1-2-4
# 19 19 1 4 3 1-4-3
# 20 20 1 1 3 1-1-3
以上是关于R等同于SAS do-loop的主要内容,如果未能解决你的问题,请参考以下文章
什么是 SAS Enterprise Miner Score Node 的 R 等价物?