私は R にまったく慣れていないので、このタイプの文字列から距離を抽出して入力する方法を知りたいと思います:「@RunKeeper で 0.56 マイルの散歩を完了しました」。そこで、「0.56」、「mi」、「walk」を 3 つの個別の変数に格納したいと思います。どうすればいいですか?
どうも!ジェローン。
私はこれを試しました:
can.be <- function(object, class="numeric")
suppressWarnings(!is.na(as(object, class)))
str.vec <- c(text)
str.vec <- strsplit(str.vec, " ")
strsplit(str.vec, " ") のエラー: 非文字引数
pos <- sapply(str.vec, function(x) which(sapply(x, can.be)))
[[1]]
0.56 4
[[2]] 名前付き整数(0)
... mapply( [[
, str.vec, pos) mapply( [[
, str.vec, pos+1) mapply( [[
, str.vec, pos+2)
しかし、今、私はこのエラーが発生します:
> mapply(`[[`, str.vec, pos)
Error in .Primitive("[[")(dots[[1L]][[2L]], dots[[2L]][[2L]]) :
attempt to select less than one element
> mapply(`[[`, str.vec, pos+1)
Error in pos + 1 : non-numeric argument to binary operator
> mapply(`[[`, str.vec, pos+2)
Error in pos + 2 : non-numeric argument to binary operator
サンプルデータ (テキスト):
Just completed a 0.56 mi walk with @RunKeeper. Check it out! http://t.co/lCyzzFeSwq #RunKeeper
Just completed a run in 0:00 with @RunKeeper. Check it out! http://t.co/dJB9DBwF4o #RunKeeper
Just completed a 1.83 km run with @RunKeeper. Check it out! http://t.co/f0S2aKnWXz #RunKeeper
Just completed a 6.03 km run - Gettin' it done! http://t.co/uQ7rBn6M #RunKeeper
Just completed a 1.81 mi walk with @RunKeeper. Check it out! http://t.co/R70fvkLDES #RunKeeper