有没有一种简单的方法可以在 R 中创建具有相同向量重复自身 "n" 次的数据帧(如 n coumns)?



我认为标题说明了一切让我们跳到的例子

假设我有一个向量(其内容与本例无关(

aux<-c(1:5)

我需要创建一个数据帧,它有相同的向量重复n次(n可以变化,有时是8次,有时是7次(

我这样做是因为重复了8次:

aux.df<-data.frame(aux,aux,aux,aux,aux,aux,aux,aux)

这给了我想要的结果,但你可以看到为什么这不是一个理想的方式。。。

有没有一个包、函数、方法可以告诉R重复向量"aux"8次?

我还尝试创建一个矩阵,然后将其转换为数据帧,但没有成功,我得到了一个奇怪的数据帧,每个单元格内都有向量。。。我尝试过但没有成功:

aux.df<- as.data.frame(matrix(aux, nrows=5, ncol=8))

使用replicate()

as.data.frame(replicate(8, aux))
#   V1 V2 V3 V4 V5 V6 V7 V8
# 1  1  1  1  1  1  1  1  1
# 2  2  2  2  2  2  2  2  2
# 3  3  3  3  3  3  3  3  3
# 4  4  4  4  4  4  4  4  4
# 5  5  5  5  5  5  5  5  5

参数

aux<-c(1:5)

n<-8

向量aux作为列重复

aux.df<-as.data.frame(matrix(rep(aux,n),ncol=n,byrow = F))

矢量aux作为行重复

aux.df<-as.data.frame(matrix(rep(aux,n),nrow=n,byrow = T))

以下是一些可能的阿片类药物

> data.frame(aux = aux)[rep(1, 8)]
aux aux.1 aux.2 aux.3 aux.4 aux.5 aux.6 aux.7
1   1     1     1     1     1     1     1     1
2   2     2     2     2     2     2     2     2
3   3     3     3     3     3     3     3     3
4   4     4     4     4     4     4     4     4
5   5     5     5     5     5     5     5     5
> data.frame(kronecker(t(rep(1, 8)), aux))
X1 X2 X3 X4 X5 X6 X7 X8
1  1  1  1  1  1  1  1  1
2  2  2  2  2  2  2  2  2
3  3  3  3  3  3  3  3  3
4  4  4  4  4  4  4  4  4
5  5  5  5  5  5  5  5  5
> data.frame(outer(aux, rep(1, 8)))
X1 X2 X3 X4 X5 X6 X7 X8
1  1  1  1  1  1  1  1  1
2  2  2  2  2  2  2  2  2
3  3  3  3  3  3  3  3  3
4  4  4  4  4  4  4  4  4
5  5  5  5  5  5  5  5  5
> list2DF(rep(list(aux), 8))
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5

相关内容

  • 没有找到相关文章

最新更新