R将一维数据框转换为二维数据框

标签 r

我有一个一维数据框作为输入:

A,1,B,2,C,3,D,4

我需要像那样转换为 2D 数据框:

A,1
B,2
C,3
D,4

我该怎么做?我不能使用 matrix(...),因为数据框包含非数值。

[编辑] dput 请求的数据:

structure(list(V1 = structure(1L, .Label = "A", class = "factor"), 
V2 = 1, V3 = structure(1L, .Label = "B", class = "factor"), 
V4 = 2, V5 = structure(1L, .Label = "C", class = "factor"), 
V6 = 3, V7 = structure(1L, .Label = "D", class = "factor"), 
V8 = 4), .Names = c("V1", "V2", "V3", "V4", "V5", "V6", 
"V7", "V8"), class = "data.frame", row.names = c(NA, -1L))

最佳答案

您可以使用沿列循环的逻辑向量从一维数据框中对列进行子集化。

data.frame(x = unlist(d[ , c(TRUE, FALSE)]), y = unlist(d[ , c(FALSE, TRUE)]))
#    x y
# V1 A 1
# V3 B 2
# V5 C 3
# V7 D 4

关于R将一维数据框转换为二维数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790537/

相关文章:

javascript - 将数据从js发送到R Shiny变量

r - 如果矩阵而不是数据框,则 R 绘图中的标记点不打印

r - 生成具有 `partykit:mob()` 对象的并排节点模型的表

r - 计算栅格单元和邻域之间的差异

r - 如何抑制 ggplot2 图中的垂直网格线?

r - 从 R 中的一组矩阵中​​有效地找到最小单元格值

r - 将文本粘贴为 biglm 的公式

r - 使用 rCharts 为图表中的所有数据点添加唯一链接

r - 使用 R 时我应该更喜欢 hadoop 还是 condor?

javascript - 使用 Datatable Shiny 时列过滤器不可见