Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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_Sorting_Split - Fatal编程技术网

根据R中的组编号提取列的数据

根据R中的组编号提取列的数据,r,sorting,split,R,Sorting,Split,我有这样的数据(它是我全部数据的一小部分) 我想将数据提取(排序)到以下两个表中: 表1:(以“编号”栏为基础) 表2:(表1每三列拆分) 我写了一些代码,但它给出了第一列(数字1,如果我想要其他数字,我应该更改file1$No[I]==1的值)。你能帮我纠正一下吗 df210 <- read.csv("F:/Shel/file1.csv") for (i in 1:201){ if (file1$No[i] == 1){ bb1 <- print(file1$circ

我有这样的数据(它是我全部数据的一小部分)

我想将数据提取(排序)到以下两个表中:

表1:(以“编号”栏为基础)

表2:(表1每三列拆分)

我写了一些代码,但它给出了第一列(数字1,如果我想要其他数字,我应该更改file1$No[I]==1的值)。你能帮我纠正一下吗

df210 <- read.csv("F:/Shel/file1.csv")

for (i in 1:201){
  if (file1$No[i] == 1){
    bb1 <- print(file1$circularity[i])
  }
  matrix(, ncol = 201))    
}

df210也许您可以使用
split

t1 <- do.call(cbind,
              lapply(u <- split(df$A,
                                factor(df$No,levels = seq(max(df$No)))),
                     `length<-`,
                     max(lengths(u))))
> t1
        1    2    3  4    5    6
[1,] 0.15 0.52 0.54 NA 0.45 1.53
[2,] 0.58   NA 0.05 NA 0.37 0.29
[3,] 0.42   NA 0.15 NA 0.28 1.18
[4,] 1.63   NA   NA NA 1.45   NA

t2 <- do.call(cbind,
              lapply(u <- split(df$A,
                                ceiling(df$No/3)),
                     `length<-`,
                     max(lengths(u))))
> t2
        1    2
[1,] 0.15 0.45
[2,] 0.58 0.37
[3,] 0.42 0.28
[4,] 1.63 1.45
[5,] 0.52 1.53
[6,] 0.54 0.29
[7,] 0.05 1.18
[8,] 0.15   NA

t1非常感谢托马斯的帮助
1 to 3      4 to 6
0.15        0.37
0.58        0.28
0.42        1.45
1.63        1.53
0.52        0.29
0.54        1.18
0.05    
0.15    
0.45  
df210 <- read.csv("F:/Shel/file1.csv")

for (i in 1:201){
  if (file1$No[i] == 1){
    bb1 <- print(file1$circularity[i])
  }
  matrix(, ncol = 201))    
}
t1 <- do.call(cbind,
              lapply(u <- split(df$A,
                                factor(df$No,levels = seq(max(df$No)))),
                     `length<-`,
                     max(lengths(u))))
> t1
        1    2    3  4    5    6
[1,] 0.15 0.52 0.54 NA 0.45 1.53
[2,] 0.58   NA 0.05 NA 0.37 0.29
[3,] 0.42   NA 0.15 NA 0.28 1.18
[4,] 1.63   NA   NA NA 1.45   NA

t2 <- do.call(cbind,
              lapply(u <- split(df$A,
                                ceiling(df$No/3)),
                     `length<-`,
                     max(lengths(u))))
> t2
        1    2
[1,] 0.15 0.45
[2,] 0.58 0.37
[3,] 0.42 0.28
[4,] 1.63 1.45
[5,] 0.52 1.53
[6,] 0.54 0.29
[7,] 0.05 1.18
[8,] 0.15   NA
df <- structure(list(No = c(1L, 1L, 1L, 1L, 2L, 3L, 3L, 3L, 5L, 5L, 
5L, 5L, 6L, 6L, 6L), A = c(0.15, 0.58, 0.42, 1.63, 0.52, 0.54, 
0.05, 0.15, 0.45, 0.37, 0.28, 1.45, 1.53, 0.29, 1.18), B = c(0.22, 
0.43, 0.37, 0.72, 0.4, 0.42, 0.12, 0.22, 0.38, 0.34, 0.3, 0.68, 
0.7, 0.3, 0.61), C = c(1.6099, 3.1626, 2.6003, 6.3488, 3.1054, 
3.2435, 0.8858, 2.2195, 3.0482, 2.4957, 2.0814, 5.6248, 6.4968, 
2.1051, 5.5439)), class = "data.frame", row.names = c(NA, -15L
))