本文介绍了R通过结合两个变量的公数值来重塑数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过合并两个变量来重塑数据框.例如:
I want to reshape a data frame by combining two variables.For example:
这是一个新数据:
dat = data.frame(
var1 = c("a", "a", "a", "Emily", "b", "Bob", "c"),
var2 = c("Jhon", "Emily", "Julie", "Angela", "Bob", "Paul", "Paul"),
stringsAsFactors = F
)
例外的输出:
# var1 var2 var3 var4 var5
# 1 a Jhon Emily Julie Angela
# 2 b Bob Paul c <NA>
推荐答案
使用基数R,您可以执行以下操作:
Using base R you can do:
relation=function(dat){
.relation=function(x){
k = unique(sort(c(dat[dat[, 1] %in% x, 2], x, dat[dat[, 2] %in% x, 1])))
if(setequal(x,k)) toString(k) else .relation(k)}
grp = sapply(unique(dat[,1]), .relation)
read.table(text = unique(grp), fill=T, sep=",")
}
relation(dat)
V1 V2 V3 V4 V5
1 a Angela Emily Jhon Julie
2 b Bob c Paul
这篇关于R通过结合两个变量的公数值来重塑数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!