我有一个包含以下列的Excel文件
Column1 Column2 Column3
ab bb 0.5
ab bc 0.1
ab cd 0.7
ab dd 0.8
ac bb 0.2
ac bg 0.8
ac ee 0.8
ac dd 0.3
x <- data.frame (column1 = c("ab","ab","ab","ab","ac","ac","ac","ac"),
column2 = c("bb","bc","cd","dd","bb","bg","ee","dd"),
column3 = c(0.5, 0.1, 0.7, 0.8, 0.2, 0.8, 0.8, 0.3))
我想改变它。
ab ac
bb 0.5 0.2
bc 0.1
cd 0.7
dd 0.8 0.3
bg 0.8
ee 0.8
最佳答案
reshape2
软件包是您的 friend 在这里:
require(reshape2)
dcast(x, column2 ~ column1, value.var="column3")
# column2 ab ac
# 1 bb 0.5 0.2
# 2 bc 0.1 NA
# 3 bg NA 0.8
# 4 cd 0.7 NA
# 5 dd 0.8 0.3
# 6 ee NA 0.8
更新资料
由于@jmsigner和我几乎同时发布了完全相同的答案,因此这是基本R中的一个选项,但这并不能为您提供很好的输出:
reshape(x, direction="wide", idvar="column2", timevar="column1")
# column2 column3.ab column3.ac
# 1 bb 0.5 0.2
# 2 bc 0.1 NA
# 3 cd 0.7 NA
# 4 dd 0.8 0.3
# 6 bg NA 0.8
# 7 ee NA 0.8
关于r - R:表格格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11735192/