问题描述
我有这个df
Genero FrusTrado No frusTrado
<chr> <int> <int>
Hombre 138 9
Mujer 145 12
我需要将其转换为像这样的列联表:
FrusTrado
Genero Si No
Hombre 138 9
Mujer 145 12
如何用简单的代码块来完成? (我需要重复多次,并且我不想每次都写向量)
谢谢!
解决方法
也许您可以尝试下面的代码
`dimnames<-`(
as.table(as.matrix(df[-1])),list(Genero = df$Genero,Frustrado = c("si","No"))
)
给出
Frustrado
Genero si No
Hombre 138 9
Mujer 145 12
数据
> dput(df)
structure(list(Genero = c("Hombre","Mujer"),Frustrado = c(138L,145L),`No frustrado` = c(9L,12L)),class = "data.frame",row.names = c(NA,-2L))
,
我们可以使用column_to_rownames
library(tibble)
out <- df %>%
column_to_rownames('Genero') %>%
as.matrix
names(dimnames(out)) <- names(df)[1:2]
数据
df <- structure(list(Genero = c("Hombre",-2L))