我得到了以下提示:
给定一个文本字符串向量 V.text,编写一个函数,从每个字符串中提取可能的美元金额和日期,并将它们作为与 V.text 长度相同的列表的单独向量分量返回。金额和日期应以与输入格式完全相同的文本字符串形式返回。例如,如果输入字符串之一是“Listed on 1/05/2009 for 180000 and sold for $150,250 on 3/1/2009”,则该元素的输出应该是一个包含两个向量的列表,一个代表金额,一个代表金额日期。金额应为“180000”和“$150,250”,日期应为“1/05/2009”和“3/1/2009”。
我的解决方案尝试是:
four <- function(x) {
#split the data into individual observations
lines <- str_split(x, "\n")
n <- length(lines)
list.date = NA; list.price = NA; sell.price = NA; sell.date = NA; temp = NA
for (i in seq_len(n)) {
list.date[i] <- word(x[i], 3)
list.price[i] <- word(x[i], 5)
sell.price[i] <- word(x[i], 9)
sell.date[i] <- word(x[i], 11)
}
temp <- data.frame(list.date, list.price, sell.price, sell.date)
temp
}
该解决方案因两个原因而不足。首先它输出一个数据框而不是一个包含两个向量的列表。其次,如果输入的文本字符串发生变化,我的解决方案就没用了。
对于收到的任何支持,我将不胜感激。