这似乎是一项非常简单的任务,但我是R的初学者。 任务就像标题解释一样简单。
我有一个数据框,我想从一行中取出所有文本值并将其放入数组中。
我想用这个语句,我只是不知道该用什么作为函数:
review = daply(.data = mydata[1,], .variables = mydata$names , .fun = ??? )
是否有复制数据或getText的功能,还是有更简单的方法?
我的最终目标是获取数据框中的每一行并将其放入数组中,因为我需要使用数组来处理包中的不同数据分析函数。
我知道为此编写循环是不好的,那么R中的 plyr 包中是否有任何函数可以实现上述最终目标?
感谢您的时间。
编辑: 代码:
result <- apply(mydata[1,], 1, function(x) { classify_emotion(x, algorithm="bayes", prior=1.0) })
> emotion = result[,7]
Error in result[, 7] : subscript out of bounds
> emotion = result[,6]
Error in result[, 6] : subscript out of bounds
> emotion = result[7,]
> emotion[is.na(emotion)] = "unknown"
> class_pol = apply(mydata[1,], 1, function(x) {classify_polarity(x, algorithm="bayes") })
> polarity = class_pol[,4]
Error in class_pol[, 4] : subscript out of bounds
> polarity = class_pol[4,]
> resu <- apply(mydata, 1, function(x) {data.frame(text=x, emotion=emotion,polarity=polarity, stringsAsFactors=FALSE) })
> resu = within(resu ,emotion <- factor(emotion, levels=names(sort(table(emotion), decreasing=TRUE))))
> write.xlsx(resu, "C:/Users/Norbert/Desktop/resu.xlsx")
我想复制这个:https://sites.google.com/site/miningtwitter/questions/sentiment/sentiment @Tim Biegeleisen看看网站。你能看到一个错误吗?
答案 0 :(得分:1)
您可以在数据框的行模式下使用apply()
功能。您可以将每一行传递给函数classify_emotion
,如下所示:
result <- data.frame(apply(mydata, 1, function(x) {
y <- classify_emotion(x, "bayes", 1.0)
return(y)
}))