我想从csv文件中读取同义词,其中第一个单词是“主”字,而同一记录中的其余单词是同义词。

现在我基本上想要创建一个列表,就像我在R中做的那样,
**synonyms <- list(
list(word="ss", syns=c("yy","yyss")),
list(word="ser", syns=c("sert","sertyy","serty"))
)**这给了我一个清单
synonyms
[[1]]
[[1]]$word
[1] "ss"
[[1]]$syns
[1] "yy" "yyss"
[[2]]
[[2]]$word
[1] "ser"
[[2]]$syns
[1] "sert" "sertyy" "serty"它本质上是“单词”和"syns“的列表。如何在读取csv文件中的单词和同义词时创建类似的列表?
任何指点都会有帮助!!谢谢
发布于 2017-06-29 11:44:18
此过程应返回所需的内容。
# read in data using readLines
myStuff <- readLines(textConnection(temp))这将返回一个字符向量,每一行在文件中有一个元素。注意,在文件中读取textConnection并不是必需的。只需提供文件路径。现在,使用strsplit将每个向量元素拆分成一个向量,并返回一个列表。
myList <- strsplit(myStuff, split=" ")现在,将列表中每个向量的第一个元素与其余元素分开。
result <- lapply(myList, function(x) list(word=x[1], synonyms=x[-1]))这将返回所需的结果。我们使用lapply来遍历列表项。对于每个列表项,我们返回一个命名列表,其中第一个元素命名为word,对应于向量的第一个元素,即列表项,该向量的其余元素被放置在第二个名为同义词的列表元素中。
result
[[1]]
[[1]]$word
[1] "ss"
[[1]]$synonyms
[1] "yy" "yyss"
[[2]]
[[2]]$word
[1] "ser"
[[2]]$synonyms
[1] "sert" "sertyy" "serty"
[[3]]
[[3]]$word
[1] "at"
[[3]]$synonyms
[1] "ate" "ater" "ates"
[[4]]
[[4]]$word
[1] "late"
[[4]]$synonyms
[1] "lated" "lates" "latee"数据
temp <-
"ss yy yyss
ser sert sertyy serty
at ate ater ates
late lated lates latee"https://stackoverflow.com/questions/44804828
复制相似问题