我想将列转换为行。因此我使用“reshape”函数来完成它。更确切地说,我有:
`n = c(2, 3, 5)
s = c("aa", "bb", "cc")
b = c(TRUE, FALSE, TRUE)
df = data.frame(n, s, b)`
问题是我对每个“n”都有几个“s”值(总是重复相同)。
我用:
reshape(df, idvar = "s", ,direction = "wide", varying = list("b"))
我在某个地方犯了一个错误,但我无法理解。
答案 0 :(得分:0)
您可以使用cbind.data.frame()
以及table()
功能
> df <- data.frame(Country = c("Aus","Ind","NZ"), Year= c(1956,1957,1958))
> df
Country Year
1 Aus 1956
2 Ind 1957
3 NZ 1958
> table(cbind.data.frame(df$Country,df$Year))
df$Year
df$Country 1956 1957 1958
Aus 1 0 0
Ind 0 1 0
NZ 0 0 1