2

数据框结果截图我想使用 qdap 包在 R 中进行情感分析。它给出了一个包含 all.all、all.wc、all.polarity、all.pos.words、all.neg.words 等的数据框。

我想提取 all.polarity、all.pos.words、all.neg.words 的值,但是当我使用 Sentiment$all.polarity 或 Sentiment$all.pos.words 时,

我得到 NULL 结果。

输入(头部(情绪))

list(structure(list(all = c("all", "all", "all"), wc = c(44L, 
1L, 1L), polarity = c(-0.422115882408869, 0, 0), pos.words = list(
    "-", "-", "-"), neg.words = list(c("disappointed", "issue"
), "-", "-"), text.var = c("list(list(content = \"  misleaded  icici bank customer care  branch excutive    really disappointed   bank dont know  steps   take  get  issue fixed\", meta = list(author = character(0), datetimestamp = list(sec = 20.097678899765, min = 51, hour = 11, mday = 6, mon = 6, year = 115, wday = 1, yday = 186, isdst = 0), description = character(0), heading = character(0), id = \"1\", language = \"en\", origin = character(0))))", 
"list()", "list()")), row.names = c(NA, -3L), .Names = c("all", 
"wc", "polarity", "pos.words", "neg.words", "text.var"), class = "data.frame"), 
    structure(list(all = c("all", "all", "all"), wc = c(61L, 
    1L, 1L), polarity = c(0, 0, 0), pos.words = list("led", "-", 
        "-"), neg.words = list("expire", "-", "-"), text.var = c("list(list(content = \" didnt know   customer banking  icici   years will  led    people   looking  student travel card   staff  mg road     treat customers  tried  offer  card  wud expire  one year n told  get  new card  one year    dont know\", meta = list(author = character(0), datetimestamp = list(sec = 20.3989679813385, min = 51, hour = 11, mday = 6, mon = 6, year = 115, wday = 1, yday = 186, isdst = 0), description = character(0), heading = character(0), id = \"1\", language = \"en\", origin = character(0))))", 
    "list()", "list()")), row.names = c(NA, -3L), .Names = c("all", 
    "wc", "polarity", "pos.words", "neg.words", "text.var"), class = "data.frame"), 
    structure(list(all = c("all", "all", "all"), wc = c(58L, 
    1L, 1L), polarity = c(0, 0, 0), pos.words = list("top", "-", 
        "-"), neg.words = list("worst", "-", "-"), text.var = c("list(list(content = \"  asked   staff    can upgrade  platinum  coral card   documentation  fee will  involoved  even  receiving  card poeple sill keep calling   top      levied  rs joining fee    interested  paying     card  one   worst customer care   experienced\", meta = list(author = character(0), datetimestamp = list(sec = 20.648964881897, min = 51, hour = 11, mday = 6, mon = 6, year = 115, wday = 1, yday = 186, isdst = 0), description = character(0), heading = character(0), id = \"1\", language = \"en\", \n    origin = character(0))))", 
    "list()", "list()")), row.names = c(NA, -3L), .Names = c("all", 
    "wc", "polarity", "pos.words", "neg.words", "text.var"), class = "data.frame"), 
    structure(list(all = c("all", "all", "all"), wc = c(59L, 
    1L, 1L), polarity = c(-0.494717861727131, 0, 0), pos.words = list(
        "-", "-", "-"), neg.words = list(c("long time", "long time", 
    "disappointed"), "-", "-"), text.var = c("list(list(content = \" applied   credit card   corporate scheme long time back got  verification call also long time back initially   getting  least  response   executive  now    longer picking   call neither letting  know  status   application extremely disappointed   service\", meta = list(author = character(0), datetimestamp = list(sec = 20.8989698886871, min = 51, hour = 11, mday = 6, mon = 6, year = 115, wday = 1, yday = 186, isdst = 0), description = character(0), heading = character(0), id = \"1\", \n    language = \"en\", origin = character(0))))", 
    "list()", "list()")), row.names = c(NA, -3L), .Names = c("all", 
    "wc", "polarity", "pos.words", "neg.words", "text.var"), class = "data.frame"), 
    structure(list(all = c("all", "all", "all"), wc = c(66L, 
    1L, 1L), polarity = c(0.0246182981958665, 0, 0), pos.words = list(
        c("work", "support"), "-", "-"), neg.words = list("disappointed", 
        "-", "-"), text.var = c("list(list(content = \" otp service   working    used  work   month     decided  change everything im  getting  otp sms   registered mobile number ive tried contacting  customer support several times   keep asking   send  sms   despite  done  several times  several days  havent received  otps ever really disappointed\", meta = list(author = character(0), datetimestamp = list(sec = 21.1935319900513, min = 51, hour = 11, mday = 6, mon = 6, year = 115, wday = 1, yday = 186, isdst = 0), description = character(0), \n    heading = character(0), id = \"1\", language = \"en\", origin = character(0))))", 
    "list()", "list()")), row.names = c(NA, -3L), .Names = c("all", 
    "wc", "polarity", "pos.words", "neg.words", "text.var"), class = "data.frame"), 
    structure(list(all = c("all", "all", "all"), wc = c(50L, 
    1L, 1L), polarity = c(-0.282842712474619, 0, 0), pos.words = list(
        "-", "-", "-"), neg.words = list(c("pathetic", "lied"
    ), "-", "-"), text.var = c("list(list(content = \"  pathetic service  behavior  icici bank   facing  past  days icici executive lied  luring   upgrade  debit card terms  conditions  just opposite   booklet   received    told  phone\", meta = list(author = character(0), datetimestamp = list(sec = 21.4258019924164, min = 51, hour = 11, mday = 6, mon = 6, year = 115, wday = 1, yday = 186, isdst = 0), description = character(0), heading = character(0), id = \"1\", language = \"en\", origin = character(0))))", 
    "list()", "list()")), row.names = c(NA, -3L), .Names = c("all", 
    "wc", "polarity", "pos.words", "neg.words", "text.var"), class = "data.frame"))

谁能建议如何做到这一点?

4

1 回答 1

2

以下对我有用 -

 library(qdap)

 text <- "I am liking the work "  # the text for which polarity score is needed

 sentiment <- polarity(text) #make the call 

 sentiment$all$pos.words # returns the positive words detected by the algo
 #[[1]]
 #[1] "liking" "work"  

 sentiment$all$polarity # returns the sentence polarity score 
 #[1] 0.8944272
于 2016-09-23T08:51:37.347 回答