【发布时间】:2020-08-28 17:21:48
【问题描述】:
我有一个看起来像这样 (m) 的数据框:
a <- rep(c("one","two"),6)
b <- c(1,2,3,4,NA,NA,NA,NA,NA,NA,NA,NA)
c <- c(NA,NA,NA,NA,5,6,7,8,NA,NA,NA,NA)
d <- c(NA,NA,NA,NA,NA,NA,NA,NA,9,10,11,12)
(m <- cbind(a,b,c,d))
我想将其简化为如下所示的数据框 (n):
e <- seq(1:12)
f <- rep(c("b","c","d"), each = 4)
(n <- cbind(a,e,f))
我试过融化,但显然不成功:
melt(data = m, na.rm=TRUE)
Var1 Var2 value
1 1 a one
2 2 a two
3 3 a one
4 4 a two
5 5 a one
6 6 a two
7 7 a one
8 8 a two
9 9 a one
10 10 a two
11 11 a one
12 12 a two
13 1 b 1
14 2 b 2
15 3 b 3
16 4 b 4
29 5 c 5
30 6 c 6
31 7 c 7
32 8 c 8
45 9 d 9
46 10 d 10
47 11 d 11
48 12 d 12
什么是必要的改变,还有比融化更好的功能吗?
【问题讨论】:
-
试试
library(reshape2); melt(as.data.frame(m), id.vars = "a", na.rm = TRUE)