约旦
id Category
1 Noun
2 Negative
3 Positive
4 adj
5 word
每个术语分配给超过1个类别,因此,它对应于超过1个id。在terms.df中,所有ID都在一列中。
条款
Terms id
Love 1 4 5 3
Hate 2 4 5
ice 1 5
id的术语与ca.df中的类别相对应。我想要这样的输出:
df
Category terms
Noun ice Love
Negative Hate
Positive Love
adj Hate Love
word ice Hate Love
这个怎么做?
这是一个可能的data.table
/splitstackshape
包解决方案
library(splitstackshape) ## loads `data.table` package too
terms.df <- cSplit(terms.df, "id", sep = " ", direction = "long")
setkey(terms.df, id)[ca.df, .(Category , Terms = toString(Terms)), by = .EACHI]
# id Category Terms
# 1: 1 Noun Love, ice
# 2: 2 Negative Hate
# 3: 3 Positive Love
# 4: 4 adj Love, Hate
# 5: 5 word Love, Hate, ice
一些解释
id
根据列用空格分隔Terms
列id
Terms
使用by = .EACHI
运算符根据每个连接将列返回串联,这使我们可以在joinig时执行不同的操作本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句