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 - Fatal编程技术网

在R中排列列

在R中排列列,r,sorting,R,Sorting,我有以下表格的数据: Department LengthAfter 1 A 8.42 2 B 10.93 3 D 9.98 4 A 10.13 5

我有以下表格的数据:

              Department            LengthAfter
1                     A                  8.42
2                     B                 10.93
3                     D                  9.98
4                     A                 10.13
5                     B                 10.54
6                     C                  7.82
7                     A                  9.55
8                     D                 12.53
9                     C                  7.87
我想创建一个新的表或数据框,其中列标题是每个部门(a、B、C、D),每列下的长度是每个部门对应的LengthAfter上的值。e、 g

A       B         C         D
8.42   10.93     7.82      9.98

有人能帮忙吗?谢谢

使用
tidyverse
,您可以使用
pivot\u-wide
将数据透视到所需的格式。在此之前,如果要按外观顺序包括
后面的
长度中的值,并按上述顺序排列列,则需要先按
部门进行排序(
arrange

library(tidyverse)

df %>%
  arrange(Department) %>%
  group_by(Department) %>%
  mutate(rn = row_number()) %>%
  pivot_wider(names_from = "Department", values_from = "LengthAfter") %>%
  select(-rn)
输出

      A     B     C     D
  <dbl> <dbl> <dbl> <dbl>
1  8.42  10.9  7.82  9.98
2 10.1   10.5  7.87 12.5 
3  9.55  NA   NA    NA  
A B C D
1  8.42  10.9  7.82  9.98
2 10.1   10.5  7.87 12.5 
3.9.55不适用

您可以为此使用包整形2

图书馆(E2)


Df_newBase-R

dept_length <- read.csv("/Users/usr/SO_Department_LengthAfter.tsv", sep="\t");
dl_list <- with(dept_length, tapply(LengthAfter, Department, `c`));
n.obs <- sapply(dl_list, length);
seq.max <- seq_len(max(n.obs));
sapply(dl_list, `[`, i = seq.max);
参考资料:


  • 欢迎来到SO;问题与
    统计数据无关,请不要发送不相关的标签(已删除)。如果您以可复制的格式(即使用
    dput
    )包含数据,人们通常更愿意提供帮助。每个部门都有多个阅读资料-如何将它们合并为一个阅读资料?这是平均水平吗?或者这些部门会在专栏中重复多次?
             A     B    C     D
    [1,]  8.42 10.93 7.82  9.98
    [2,] 10.13 10.54 7.87 12.53
    [3,]  9.55    NA   NA    NA