在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