基于部分字符串匹配的子集数据帧

时间:2019-04-11 12:14:43

标签: r string dataframe grep subset

我有一个数据框,其中包含大学名称以及部门,中心,机构的各种名称。我想提取所有包含字符串“ University”的单元格并将其保存为向量。

我已经尝试过grep函数,但是由于我对R语言还很陌生,所以我没有设法在数据帧的多个列上编写正确的函数。

这是我的示例:

 V1 = c("asdad","department of x", "University of California",
   "daadasda")
  V2 = c("aadasd","Florence University", "University of Seattle", "NA")
  V3 = c ("aadasd","asdasdasd", "asdasdadads", "fsdfsdfsdf")
  V4 = c ("University of California","Department of g", "asdasd", "sdfsdfsf")

df = as.data.frame(cbind(V1,V2,V3,V4))

预期结果:

Universities: University of California, University of Seattle, Florence University, University of California

数据框具有或多或少随机分散的大学名称,我希望将它们提取到单个向量中。由于我也对特定大学的出现次数感兴趣,因此在向量中重复名称是可取的。

1 个答案:

答案 0 :(得分:1)

我们可以unlist的数据框架和grep的“大学”

out <- data.Frame(Universities = grep("University", unlist(df), 
         ignore.case = TRIE.  value = TRUE))