首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dataframe中逐行求和因子列

在dataframe中逐行求和因子列
EN

Stack Overflow用户
提问于 2022-10-31 13:50:00
回答 2查看 20关注 0票数 0

我有一个名为ehp30的the,13列对应于病人在某个时间点的问卷(11列)的答案。第一行是(带有假数据的):

代码语言:javascript
复制
   Pat_TNO AssNo    eSocialEvents eJobsAtHome eStandingUp eSittingDown eWalking  eExercise eAppetite eSleep    eHadToLieDown eUnableToDo eUnableToCope
     <dbl> <fct>    <fct>         <fct>       <fct>       <fct>        <fct>     <fct>     <fct>     <fct>     <fct>         <fct>       <fct>        
 1    1234 baseline Often         Often       Sometimes   Sometimes    Sometimes Often     Sometimes Often     Often         Often       Sometimes    

我想在最后修改一个名为'pain‘的新列,它是eSocialEventseUnableToCope之间11列的值之和。这些级别是:

代码语言:javascript
复制
 "Never"     "Rarely"    "Sometimes" "Often"     "Always"   

其中有效编号为1-5,因此第一行的和应该是39。

EN

回答 2

Stack Overflow用户

发布于 2022-10-31 13:55:41

您可以转换为numeric,然后使用rowSums

代码语言:javascript
复制
library(dplyr)
dat %>%
  mutate(across(starts_with("e"), as.numeric),
         rowS = rowSums(select(., starts_with("e")))
票数 1
EN

Stack Overflow用户

发布于 2022-10-31 14:00:38

以可复制的格式提供一些样本数据

代码语言:javascript
复制
dd <- read.table(text="Pat_TNO AssNo    eSocialEvents eJobsAtHome eStandingUp eSittingDown eWalking  eExercise eAppetite eSleep    eHadToLieDown eUnableToDo eUnableToCope
  1    1234 baseline Often         Often       Sometimes   Sometimes    Sometimes Often     Sometimes Often     Often         Often       Sometimes   
  2    4567 baseline Always        Often       Sometimes   Sometimes    Sometimes Often     Sometimes Often     Often         Often       Sometimes", header=TRUE)

可以使用dplyr将行与给定的级别顺序相加。

代码语言:javascript
复制
levels <- c("Never", "Rarely", "Sometimes", "Often", "Always")

dd %>% 
  rowwise() %>% 
  mutate(score=sum(match(c_across(starts_with("e")), levels))) %>% 
  select(AssNo, score)

在这里,我们使用match()查找levels向量中值的索引。如果所有列都已经是按正确顺序设置所有级别的因素,则只需对因子值使用as.numeric将它们转换为整数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74264286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档