我是R的新手,我现在被卡住了。我有一些观点是由法律文章组成的,fe:
BIV:III,XXVIII.1(b);CIV:2.
因此,我将它们拆分,生成一个字符串,列出每个观察结果和使用的法律文章。这看起来像这样:
400230的ArtAGr列表
chr[1:2] "BIV:III,XXVIII.1(b)" "CIV:2"
chr[1:1] "ILA:2.3(b)"
chr[1:3] "BIV:IB.3(d)" "CIV:7,9" "ILA:VII.1"
BIV和CIV需要成为我的新变量。然而,观察结果各不相同,因此一些观察结果同时包括BIV和CIV,而其他观察结果包括其他法律条款,如ILA: in。3(B)现在,我想从这些人那里创建一个数据框架,以便我可以将所有观察结果分组到每个主要文章的专栏中。最终,完美的数据帧应该如下所示:
Dispute BIV CIV ILA
1 III, XXVIII.1(b) 2 NA
2 NA NA II.3(b)
3 IV.3(d) 7,9 VII.1
4 II NA NA
因此,我需要创建一个新对象,将包含BIV等文本的所有观察结果分组,对于不使用此法律文章的观察结果,则为O或N/A。如果您有任何想法,我们将不胜感激!
非常感谢!斯文
发布于 2014-02-28 19:49:35
这是一种方法:
# a vector of character strings (not the splitted ones)
vec <- c("BIV:III,XXVIII.1(b);CIV:2",
"ILA:II.3(b)",
"BIV:IB.3(d);CIV:7,9;ILA:VII.1")
# split strings
s <- strsplit(vec, "[;:]")
# target words
tar <- c("BIV", "CIV", "ILA")
# create data frame
setNames(as.data.frame(do.call(rbind, lapply(s, function(x)
replace(rep(NA_character_, length(tar)),
match(x[c(TRUE, FALSE)], tar), x[c(FALSE, TRUE)])))), tar)
结果是:
BIV CIV ILA
1 III,XXVIII.1(b) 2 <NA>
2 <NA> <NA> II.3(b)
3 IB.3(d) 7,9 VII.1
https://stackoverflow.com/questions/22073403
复制相似问题