添加作为(上下文)文本挖掘操作结果的列

时间:2016-03-31 14:41:25

标签: r csv text-mining tm

我正在处理带有序数变量的数据集以及带有文本的列。通常,我想添加作为文本挖掘练习结果的列,维护表结构。

例如,我导入了一个CSV文件datacsv,并获得了一个名为datacsv=read.csv("data-subset.csv", header=TRUE,sep=";") 的数据框

tekst

第三列fte包含文字。我想在" fte"的背景​​下搜索该文本中的数字(通常会介于0和1之间)。并将这些数字添加为列> luid titel tekst >1 47300 docent wiskunde De Stichting Openbaar Voortgezet Onderwijs 0,65 fte voltijd niveau: havo vwo >2 43701 docent natuurkunde Speciaal onderwijs fulltime 2015 2016 fte 0,77 Haarlem >3 43702 assistent basisonderwijs Amsterdam fte 0,5 。参见:

tm

我安装了quantedainstall.packages("tm", "quantada")

等软件包

library ("tm") library ("quanteda") kwic

如果没有令人满意的结果,我尝试使用各种datacsv ["fte"]<- kwic(datacsv$"tekst", "fte", 4) 语句,例如

if(isset($_POST["submit"])){

    $elpost = $_POST["cityName"];
    $sql = "SELECT office_name, office_location, office_phone FROM `easyt_findagents_agents WHERE office_city='$elpost";
    $result = $db->query($sql);

    //Display states list
    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo $row['office_name'];
        }
    } else {

        echo "0 results";
    }
}

有谁知道如何挖掘文本列并将结果添加为列(或多列)?

谢谢!

2 个答案:

答案 0 :(得分:0)

此?

10 x 10
  0.000002 seconds (2 allocations: 208 bytes)
  0.000006 seconds (2 allocations: 208 bytes)
100 x 100
  0.000053 seconds (2 allocations: 9.891 KB)
  0.000018 seconds (2 allocations: 9.891 KB)
1000 x 1000
  0.001945 seconds (5 allocations: 976.703 KB)
  0.001490 seconds (5 allocations: 976.703 KB)
10000 x 10000
  0.224491 seconds (5 allocations: 95.368 MB)
  0.117774 seconds (5 allocations: 95.368 MB)

答案 1 :(得分:0)

也许这有用吗?

    library(dplyr)       
    mutate(datacsv, 
           fte = as.numeric(regmatches(tekst,regexpr("[[:digit:]]+\\.[[:digit:]]+", 
                                                     tekst))))