Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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 - Fatal编程技术网

在R中的数据帧中重复列表

在R中的数据帧中重复列表,r,R,我有一张单子 k<-c(1,2,3,4) 我试着做:- > rep(k, each = 5) [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 然而,我无法得到预期的结果。有什么建议吗?这里有一个选项,通过使用as.list将向量转换为列表,将其更改为data.frame(as.data.frame和rep复制行 as.data.frame(as.list(k))[rep(1, 5),] # X1 X2 X3 X4 #1 1

我有一张单子

k<-c(1,2,3,4)
我试着做:-

> rep(k, each = 5)
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 

然而,我无法得到预期的结果。有什么建议吗?

这里有一个选项,通过使用
as.list
向量
转换为
列表
,将其更改为data.frame(
as.data.frame
rep
复制行

as.data.frame(as.list(k))[rep(1, 5),]
#   X1 X2 X3 X4
#1    1  2  3  4
#1.1  1  2  3  4
#1.2  1  2  3  4
#1.3  1  2  3  4
#1.4  1  2  3  4

或者另一种选择是对向量进行转置,得到一个行矩阵,
rep
复制行并转换为
data.frame

as.data.frame(t(k)[rep(1, 5),])

tidyverse
中,一个选项是转换为
tibble
,然后
uncount

library(dplyr)
library(tidyr)
library(stringr)
as.list(k) %>% 
    set_names(str_c("X",  seq_along(k))) %>% 
    as_tibble %>% 
    uncount(5)
# A tibble: 5 x 4
#     X1    X2    X3    X4
#  <dbl> <dbl> <dbl> <dbl>
#1     1     2     3     4
#2     1     2     3     4
#3     1     2     3     4
#4     1     2     3     4
#5     1     2     3     4
库(dplyr)
图书馆(tidyr)
图书馆(stringr)
as.列表(k)%>%
设置名称(str_c(“X”,沿(k)顺序))%>%
可存储%>%
解数(5)
#一个tibble:5x4
#x1x2x3x4
#     
#1     1     2     3     4
#2     1     2     3     4
#3     1     2     3     4
#4     1     2     3     4
#5     1     2     3     4

这里有一个选项,通过使用
as.list
向量
转换为
列表
,将其更改为data.frame(
as.data.frame
rep
复制行

as.data.frame(as.list(k))[rep(1, 5),]
#   X1 X2 X3 X4
#1    1  2  3  4
#1.1  1  2  3  4
#1.2  1  2  3  4
#1.3  1  2  3  4
#1.4  1  2  3  4

或者另一种选择是对向量进行转置,得到一个行矩阵,
rep
复制行并转换为
data.frame

as.data.frame(t(k)[rep(1, 5),])

tidyverse
中,一个选项是转换为
tibble
,然后
uncount

library(dplyr)
library(tidyr)
library(stringr)
as.list(k) %>% 
    set_names(str_c("X",  seq_along(k))) %>% 
    as_tibble %>% 
    uncount(5)
# A tibble: 5 x 4
#     X1    X2    X3    X4
#  <dbl> <dbl> <dbl> <dbl>
#1     1     2     3     4
#2     1     2     3     4
#3     1     2     3     4
#4     1     2     3     4
#5     1     2     3     4
库(dplyr)
图书馆(tidyr)
图书馆(stringr)
as.列表(k)%>%
设置名称(str_c(“X”,沿(k)顺序))%>%
可存储%>%
解数(5)
#一个tibble:5x4
#x1x2x3x4
#     
#1     1     2     3     4
#2     1     2     3     4
#3     1     2     3     4
#4     1     2     3     4
#5     1     2     3     4
使用数据表:

k = c(1,2,3,4)

n = 5 # Number of rows

df = data.table()
df = df[, lapply(1:length(k), function(x) rep(k[x], n))]

> df
   V1 V2 V3 V4
1:  1  2  3  4
2:  1  2  3  4
3:  1  2  3  4
4:  1  2  3  4
5:  1  2  3  4
使用data.table:

k = c(1,2,3,4)

n = 5 # Number of rows

df = data.table()
df = df[, lapply(1:length(k), function(x) rep(k[x], n))]

> df
   V1 V2 V3 V4
1:  1  2  3  4
2:  1  2  3  4
3:  1  2  3  4
4:  1  2  3  4
5:  1  2  3  4
purrr::map_dfc(k,rep,5)
##A tibble:5 x 4
#V1 V2 V3 V4
#      
# 1     1     2     3     4
# 2     1     2     3     4
# 3     1     2     3     4
# 4     1     2     3     4
# 5     1     2     3     4
purrr::map\u dfc(k,rep,5)
##A tibble:5 x 4
#V1 V2 V3 V4
#      
# 1     1     2     3     4
# 2     1     2     3     4
# 3     1     2     3     4
# 4     1     2     3     4
# 5     1     2     3     4

这应该是压缩选项这应该是压缩选项
数据帧(t(矩阵(k,长度(k),5))
数据帧(t(矩阵(k,长度(k),5))