R 拆分数据帧的列
我有一个名为Variable的列和一些与之关联的值:R 拆分数据帧的列,r,R,我有一个名为Variable的列和一些与之关联的值: Variable Value A D 5 A D 5 B D 5 B E 5 C E 5 C E 5 其中(ad),(bd),(be),(ce)是我正在分析的某个事物的名称。如何将列1作为因子列拆分为两个单独的列: Column1 A:2 B:2 C:2 第2列采用类似结构: Column2 D:3 E:3 因为列1和列2有不同的行号,所以
Variable Value
A D 5
A D 5
B D 5
B E 5
C E 5
C E 5
其中(ad),(bd),(be),(ce)是我正在分析的某个事物的名称。如何将列1作为因子列拆分为两个单独的列:
Column1
A:2
B:2
C:2
第2列采用类似结构:
Column2
D:3
E:3
因为列1和列2有不同的行号,所以我使用列表来存储结果
data <- data.frame(
Variable = c("A D", "A D", "B D", "B E", "C E", "C E"),
Value = rep(5, 6)
)
split_var <- function(variable){
return(strsplit(variable, " ")[[1]])
}
variable_mat <- t(apply(matrix(data[,1], ncol=1), 1, split_var))
Column1_table <- table(variable_mat[,1])
Column1 <- paste(names(Column1_table), Column1_table, sep = ":")
Column2_table <- table(variable_mat[,2])
Column2 <- paste(names(Column2_table), Column2_table, sep = ":")
result_list <- list(Column1 = Column1, Column2 = Column2)
您需要在每列中有相同数量的行。第三排在第二排应该是什么?娜娜?你是从一列并排排列的值开始的吗?我不明白。我有与之关联的值的项目。我想通过分隔变量列进一步区分这些项。
> result_list
$Column1
[1] "A:2" "B:2" "C:2"
$Column2
[1] "D:3" "E:3"