![](/img/trans.png)
[英]How to split a list of vectors into sublist based on a values of another vector in r
[英]How to split a list or a vector in r?
在使用R開發情感分析應用程序時,我需要對匹配詞的結果進行拆分,
第一 (完成)
pos.matches = match(words, pos.words)
第二 (完成)
words_matched=words[pos.matches]
從第二步開始,讓我們舉一個例子,該方法將返回
happy happy sad
我的問題是,如何將第二步的結果分成這樣:
[1] happy
[2] happy
[3] sad
現在我正在使用strsplit函數
strsplit((words[pos.matches])," ")
但這通知我有一個錯誤
警告:cat中的錯誤:'cat'無法處理參數1(類型'list')
words_matched = "happy happy sad"
strsplit(words_matched, " ")
給出:
[[1]]
[1] "happy" "happy" "sad"
注意[[1]],然后注意[1]。 您所擁有的是一個單元素列表 ,其中包含一個三元素字符向量。 如果您嘗試照顧它:
cat(strsplit(words_matched, " "))
您收到看到的錯誤,“參數'1'(類型'列表')無法由'貓'處理”
您需要以下任何一個:
strsplit(words_matched, " ")[[1]]
unlist(strsplit(words_matched, " "))
它們僅返回3個元素的字符向量,可以將它們組合起來。
順便說一句,您顯示的[1] [2] [3]輸出不是print()或cat()如何格式化其輸出。 我想知道您是否真的想要一個list
,而不是一個字符向量。 如果是這樣,則必須再跳一圈:
as.list(unlist(strsplit(words_matched,“”)))
當print()
ed時,給出:
[[1]]
[1] "happy"
[[2]]
[1] "happy"
[[3]]
[1] "sad"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.