在R中生成向量并将其插入堆叠的框架中 [英] generate a vector in R and insert it in a stacked frame
本文介绍了在R中生成向量并将其插入堆叠的框架中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想堆叠一个框架,但我认为我使用的方式不正确...
I want to stack a frame but I think I do not use the right way...
myframe
sex = F
q8
cars N U Y
1 35 31 10
2 34 23 7
3 132 109 35
4 38 36 14
5 7 5 2
, , sex = M
q8
cars N U Y
1 49 22 16
2 24 13 8
3 136 52 33
4 37 31 32
5 15 10 4
f = c(myframe[1:15])
m = c(myframe[16:30])
S <- stack(data.frame(f,m))
names(S)=c("num","gender")
group=c("1","1","1","2","2","2","3","3","3","4","4","4","5","5","5","6","6","6","1","1","1","2","2","2","3","3","3","4","4","4","5","5","5")
num=S$num
gender=S$gender
twoway.df=data.frame(num,group,gender)
twoway.df
1 1 35 f
2 1 31 f
3 1 10 f
4 2 24 f
5 2 13 f
....
您能帮我做得更好吗?
推荐答案
要将表转换为data.frame,基本功能as.data.frame.table
应该起作用.
To transform a table into a data.frame, the base function as.data.frame.table
should work.
但是,这就是我要怎么做:
Here is, however, how I would do:
myframe <- as.table(array(c(35, 34, 132, 38, 7, 31, 23, 109, 36, 5,
10, 7, 35, 14, 2, 49, 24, 136, 37, 15,
22, 13, 52, 31, 10, 16, 8, 33, 32, 4),
dim=c(5, 3, 2),
dimnames=list(cars=1:5, q8=c("N","U","Y"),
sex=c("F","M"))))
library(reshape)
melt(myframe)
用于获取具有所有变量的data.frame.如果您只想将q8
和sex
作为因素保留在data.frame中,请改用melt(myframe)[,-1]
.
for getting a data.frame with all variables. Should you only want to keep q8
and sex
as factors in your data.frame, use melt(myframe)[,-1]
instead.
有关更多信息,请参见help(melt.array)
.
See help(melt.array)
for more information.
这篇关于在R中生成向量并将其插入堆叠的框架中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文