交叉表 - 将行的信息组合成列

时间:2016-06-21 19:48:12

标签: r crosstab

我会举一个问题的例子,因为我不知道如何命名它,我想可能已经有了一个主题。 这是旧情况,我有这张表:

- a b c
1 0.5 0.3 0.2
2 0.4 0.6 0.5

这是我想要的表格:

a1 a2 b1 b2 c1 c2
0.5 0.4 0.3 0.6 0.2 0.5

我怎样才能最好地管理这个?它是一个大型数据集~13000 obs。 42个异常的11个变量。这就是我所得到的:

# convert to date if not already
weatherdata..5341$Date <- as.Date(weatherdata..5341$Date, "%d-%m-%Y")
# get months
weatherdata..5341$Month <- months(weatherdata..5341$Date)
# take average of a column per month
average <- ddply(weatherdata..5341, c("Month"), function(x) colMeans(x[c("Max.Temperature", "Min.Temperature","Precipitation", "Wind", "Relative.Humidity", "Solar")]))

非常感谢任何输入:)

1 个答案:

答案 0 :(得分:0)

我们可以使用unlist创建vector

v1 <- unlist(df1)
v1
# a1  a2  b1  b2  c1  c2 
#0.5 0.4 0.3 0.6 0.2 0.5 

如果需要将其转换为data.frame

as.data.frame.list(v1)
#   a1  a2  b1  b2  c1  c2
#1 0.5 0.4 0.3 0.6 0.2 0.5

数据

df1 <- structure(list(a = c(0.5, 0.4), b = c(0.3, 0.6), c = c(0.2, 0.5
)), .Names = c("a", "b", "c"), class = "data.frame", row.names = c("1", 
"2"))