R 为重复值和变量字符创建长数据框的快速方法

R 为重复值和变量字符创建长数据框的快速方法,r,dataframe,multiple-columns,R,Dataframe,Multiple Columns,是否有一种快速方法可以为这4列x 3060行创建数据帧 Column 1: Repeating (1:17) until row 3060 Column 2: Repeating: (6x"W", 5x"M", 6x"E")like this: (W, W, W, W, W, W, M, M, M, M, M, E, E, E, E, E, E) until row 3060 Column 3: (A1x17rows, A2x17 rows....) for this this: A1:A27

是否有一种快速方法可以为这4列x 3060行创建数据帧

Column 1: Repeating (1:17) until row 3060
Column 2: Repeating: (6x"W", 5x"M", 6x"E")like this: (W, W, W, W, W, W, M, M, M, M, M, E, E, E, E, E, E) until row 3060
Column 3: (A1x17rows, A2x17 rows....) for this this:  A1:A27, B1:B92, C1:C61) 
Column 4: Values ( I can copy form an excel sheet) ie: 0.06,0.03...
所以头部看起来像这样

> head(df)
  Column1 Column2 Column3 Column4
1       1       W      A1  0.0060
2       2       W      A2  0.0030
3       3       W      A3  0.0120
4       4       W      A4  0.0238
5       5       W      A5  0.0020
6       6       W      A6  0.0040
我有很多错误,但从这个开始

Column1 = c(1:17)
Column2 =c(6x"W", 5x"M",6x"E")
Column3 = c("A1":"A27"...)
Column4 = c("Values")

df <- data.frame(Column1, Column2, Column3, Column4)
我们可以使用交叉路口

我们可以使用交叉路口


下面是一个示例答案:

library(tidyverse)
df <- tibble::tibble(
  ID = 1:3060, #use this to sort
  column1 = rep(1:17,180),
  column2 = rep(c(rep("W",6),rep("M",5),rep("E",6) ), 180),
  column3 = rep(c(paste0("A",rep(1:27)), paste0("B",rep(1:92)), paste0("C",rep(1:61))),17)
)
要添加到excel中,您可以尝试以下操作。复制不带标题的excel列

column4 <- read_table(clipboard())
df %>%  bind_cols(column4)

下面是一个示例答案:

library(tidyverse)
df <- tibble::tibble(
  ID = 1:3060, #use this to sort
  column1 = rep(1:17,180),
  column2 = rep(c(rep("W",6),rep("M",5),rep("E",6) ), 180),
  column3 = rep(c(paste0("A",rep(1:27)), paste0("B",rep(1:92)), paste0("C",rep(1:61))),17)
)
要添加到excel中,您可以尝试以下操作。复制不带标题的excel列

column4 <- read_table(clipboard())
df %>%  bind_cols(column4)

我认为扩展值将超过2060@akrun3060对不起;我认为扩展值将超过2060@akrun3060对不起;有没有办法添加列,这样我就有了A1x17,A2x17。。。除此之外的A27x17。。Column5=repcrepA1,17,repA2,17…..repA27,17该列实际上可能只有数字1x17,2x17。。。。直到27x17与此相关,在另一个df上,但相关:如果n=92,其中Z1x17,…Z92x17,除了column=repcrepZ1,17,repZ2,17,repZ3,17,repZ4,17,…,repZ92,17之外,还有其他更快的方法来创建列吗?类似这样的:reppaste0Z,1:6,17%>%str_sort%>%head92有没有方法添加列,所以我有A1x17,A2x17。。。除此之外的A27x17。。Column5=repcrepA1,17,repA2,17…..repA27,17该列实际上可能只有数字1x17,2x17。。。。直到27x17与此相关,在另一个df上,但相关:如果n=92,其中Z1x17,…Z92x17,是否有比column=repcrepZ1,17,repZ2,17,repZ3,17,repZ4,17,…,repZ92,17更快速的方法来创建列,而不是column=repcrepZ1,17,repZ2,17,repZ3,17,repZ4,17,…,repZ92,17?类似于:reppaste0Z,1:6,17%>%stru sort%>%head92