矩阵内的R列表到数据帧的转换

Lmcshane

R挣扎。我正在使用以下内容从文本中提取引用,在大型数据集上有多个结果。我试图使输出为数据帧内的字符串,因此我可以轻松地将其作为csv与他人共享。

样本数据:

normalCase <- 'He said, "I am a test," very quickly.'
endCase <- 'This is a long quote, which we said, "Would never happen."'
shortCase <- 'A "quote" yo';
beginningCase <- '"I said this," he said quickly';
multipleCase <- 'When asked, "No," said Sam "I do not like green eggs and ham."'
testdata = c(normalCase,endCase,shortCase,beginningCase,multipleCase)

使用以下内容提取引号和字符缓冲区:

result <-function(testdata) {
  str_extract_all(testdata, '[^\"]?{15}"[^\"]+"[^\"]?{15}')
}
extract <- sapply(testdata, FUN=result)

摘录是矩阵中的列表。但是,我希望提取的内容是一个字符串,以后我可以将其合并为一个数据列。我该如何转换呢?

血管内皮细胞

代码

normalCase <- 'He said, "I am a test," very quickly.'
endCase <- 'This is a long quote, which we said, "Would never happen."'
shortCase <- 'A "quote" yo';
beginningCase <- '"I said this," he said quickly';
multipleCase <- 'When asked, "No," said Sam "I do not like green eggs and ham."'
testdata = c(normalCase,endCase,shortCase,beginningCase,multipleCase)

# extract quotations
gsub(pattern = "[^\"]*((?:\"[^\"]*\")|$)", replacement = "\\1 ", x = testdata)

输出

[1] "\"I am a test,\"  "                            
[2] "\"Would never happen.\" "                      
[3] "\"quote\"  "                                   
[4] "\"I said this,\"  "                            
[5] "\"No,\" \"I do not like green eggs and ham.\" "

解释

  • pattern = "[^\"]" 将与除双引号之外的任何字符匹配
  • pattern = "[^\"]*" 除双引号0或多次外,将与任何字符匹配
  • pattern = "\"[^\"]*\"" 将与双引号匹配,然后除双引号之外的任何字符0次或更多次,再与另一个双引号(即)匹配
  • pattern = "(?:\"[^\"]*\")" 将与报价匹配,但不会捕获它
  • pattern = "((?:\"[^\"]*\")|$)"将与引号或endOfString匹配,并捕获它。请注意,这是我们捕获的第一组
  • replacement = "\\1 " 将替换为我们捕获的第一组,后跟一个空格

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中从列表到数据帧的怪异转换

来自分类Dev

整理数据帧到R中的矩阵

来自分类Dev

我如何将数据帧列表转换为R中的矩阵列表?

来自分类Dev

转换数组列表到数据帧

来自分类Dev

R列表到宽(稀疏)数据帧

来自分类Dev

R列表到宽(稀疏)数据帧

来自分类Dev

数据帧到矩阵-多行

来自分类Dev

将数据帧转换为R中的扩展矩阵

来自分类Dev

R:如何将数据帧转换为nxn矩阵

来自分类Dev

将矩阵转换为长格式(R)的数据帧

来自分类Dev

将xyz数据帧转换为基数R中的矩阵

来自分类Dev

将数据帧转换为R中的扩展矩阵

来自分类Dev

R:如何将数据帧转换为nxn矩阵

来自分类Dev

无法在R中将数据帧转换为设计矩阵

来自分类Dev

将相关矩阵转换为 R 中的数据帧

来自分类Dev

R-数据帧到二维值的矩阵?

来自分类Dev

R中转置期间的数据帧到矩阵

来自分类Dev

如何将colSums转换为R到数据帧

来自分类Dev

如何将colSums转换为R到数据帧

来自分类Dev

加入由列表组成的 R 数据帧:需要将列表的数据帧转换为向量的数据帧吗?

来自分类Dev

将向量列表转换为R中的数据帧

来自分类Dev

将Rdata列表转换为R中的数据帧

来自分类Dev

将残留输出从列表转换为R中的数据帧

来自分类Dev

如何在R中将数据帧转换为列表?

来自分类Dev

将残留输出从列表转换为R中的数据帧

来自分类Dev

将向量列表转换为R中的数据帧

来自分类Dev

到XML的数据帧列表

来自分类Dev

数据帧转换为nxn矩阵

来自分类Dev

将数据帧转换为矩阵