You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中统计多列每行的Never与Always出现次数

统计每行中'Never'和'Always'的出现次数(R语言实现)

原始数据

User <-c('User_1','User_2','User_3','User_4','User_5')
Q1 <- c('Never', 'Rarely', 'Sometimes', 'Often', 'Always') 
Q2<- c('Sometimes', 'Rarely', 'Sometimes', 'Often', 'Rarely')
Q3 <- c('Always', 'Rarely', 'Sometimes', 'Always', 'Rarely')
data1 <- data.frame(User, Q1, Q2, Q3)

实现方法

方法1:基础R代码

直接用rowSums按行统计目标值出现次数,无需额外依赖:

# 生成结果数据框
result <- data.frame(
  User = data1$User,
  Never = rowSums(data1[, -1] == "Never"),  # 排除User列,统计每行"Never"的数量
  Always = rowSums(data1[, -1] == "Always") # 统计每行"Always"的数量
)

# 输出结果
print(result)

输出结果:

User Never Always
1 User_1     1      1
2 User_2     0      0
3 User_3     0      0
4 User_4     0      1
5 User_5     0      1

方法2:使用dplyr包(tidyverse风格)

如果习惯tidyverse工具链,可采用以下写法:

# 首次使用需先安装dplyr
# install.packages("dplyr")
library(dplyr)

result <- data1 %>%
  rowwise() %>%  # 按行处理数据
  mutate(
    Never = sum(c_across(Q1:Q3) == "Never"),  # 统计Q1-Q3列中"Never"的次数
    Always = sum(c_across(Q1:Q3) == "Always") # 统计Q1-Q3列中"Always"的次数
  ) %>%
  select(User, Never, Always)  # 保留需要的列

print(result)

输出结果与方法1完全一致。

内容的提问来源于stack exchange,提问作者Socsi2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:22:39