簡體   English   中英

如何在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM