首页 文章

将函数应用于每个data.frame行并更新多个列值

提问于
浏览
-2

我有一个data.frame,其中每一行都是一条推文,每一行都是一个属性(“text”,“user”等) .

我编写了一个函数“processTweet()”,它接受data.frame的一行并更改tweet中的3列(“X”,“Y”和“Z”)并返回此修改后的单行data.frame .

我目前正在尝试找出如何使用类似dplyr或类似应用的函数来实际反映原始data.frame中的这些修改 .

我知道我可以将processTweet函数拆分为3,但这样效率很低,因为我必须多次执行相同的逻辑查找 .

我尝试过使用带行的dplyr,但我显然做错了,因为更改没有反映在tweets data.frame中,而mutate似乎允许修改一列,但不是几行:tweets%>%rowwise ()%>%processTweet()

2 回答

  • 0

    经过一些试验和很多错误,似乎有效的ddplyr方式是:

    tweets = as.data.frame(tweets%>%rowwise()%>%do(processTweet( . ))%>%rbind())

  • 0

    似乎找到了使用plyr的答案

    tweets = adply(.data = tweets,.margins = 1,.fun = processTweet)

    但是部署实施仍然是一个谜 .

    当结果保存到单个列时,以下问题/答案有效,但当我们想要在函数Applying a function to every row of a table using dplyr?中返回整个data.frame时,不清楚该怎么做

相关问题