フリーテキスト入力からExctract数との合計数、DFに追加

イェルーン:

私は教育の年にフリーテキスト項目を含む列を持つデータフレームを持っています。フリーテキストエントリから私は数字のすべてを抽出し、それらを合計します。

例:DATA_EN $ educationTxt [1]は、 "6小学校10高校" を与えます

次のコードで、私は両方の数値を抽出し、それらを合計することができます。

library(stringr)
x <- as.numeric(str_extract_all(data_en$education[1], "[0-9A]+")[[1]])
x <- as.vector(x)
x <- sum(x)

しかし、私は、理想的のように、すべてのフリーテキストエントリ(つまり各行)のためにこれを行うと、その後(例えばDATA_EN $ educationNumとして変数にIE)の行ごとのデータフレームに結果を追加します。私は少し進め方にこだわっています。

nurandi :

あなたは使用することができますsapply

data_en$educationNum <- sapply(str_extract_all(data_en$education, "[0-9]+"), 
       function(i) sum(as.numeric(i)))

data_en
#                        education educationNum
# 1 6 primary school 10 highschool           16
# 2 10 primary school 2 highschool           12
# 3                      no school            0

データ

data_en <- data.frame(education = c("6 primary school 10 highschool",
                      "10 primary school 2 highschool",
                      "no school"))

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=399945&siteId=1