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

R语言宽数据框子集化:基于指定数据集生成3个子表需求

没问题,我来帮你处理这个数据集!先确认你的示例数据结构:

df <- structure(list(
  Variable = c("A", "A", "A", "B", "B", "B", "C", "C", "C"),
  Day1 = c("1", "1", "-1", "1", "1", "-1", "1", "1", "1"),
  Day2 = c("1", "1", "-1", "1", "1", "-1", "1", "1", "1"),
  Day3 = c("1", "1", "1", "1", "1", "-1", "1", "1", "1"),
  Day4 = c("1", "1", "1", "1", "1", "1", "1", "1", "-1"),
  Day5 = c("1", "1", "1", "1", "1", "1", "1", "1", "-1")
), class = "data.frame", row.names = c(NA, -9L))

接下来我会用dplyr和tidyr包生成三个实用的统计表格,如果你还没安装这两个包,先运行install.packages(c("dplyr", "tidyr"))即可。


表格1:按Variable分组的每日1/-1出现次数

这个表格清晰展示每个变量在每一天中,值为1和-1的样本数量:

library(dplyr)
library(tidyr)

table1 <- df %>%
  pivot_longer(cols = starts_with("Day"), names_to = "Day", values_to = "Value") %>%
  group_by(Variable, Day, Value) %>%
  summarise(Count = n(), .groups = "drop") %>%
  pivot_wider(names_from = Value, values_from = Count, values_fill = 0)

print(table1)

输出表格:

VariableDay1-1
ADay121
ADay221
ADay330
ADay430
ADay530
BDay121
BDay221
BDay321
BDay430
BDay530
CDay130
CDay230
CDay330
CDay421
CDay521

表格2:每个Variable首次出现-1的日期

这个表格帮你快速定位每个变量第一次出现-1的时间,未出现过-1的标记为"无":

table2 <- df %>%
  pivot_longer(cols = starts_with("Day"), names_to = "Day", values_to = "Value") %>%
  filter(Value == "-1") %>%
  group_by(Variable) %>%
  summarise(First_Negative_Day = min(Day), .groups = "drop") %>%
  right_join(unique(df %>% select(Variable)), by = "Variable") %>%
  mutate(First_Negative_Day = ifelse(is.na(First_Negative_Day), "无", First_Negative_Day))

print(table2)

输出表格:

VariableFirst_Negative_Day
ADay1
BDay1
CDay4

表格3:每日各Variable的1值占比

这个表格展示每个变量在每一天中,值为1的样本占该变量当日总样本的百分比(保留1位小数):

table3 <- df %>%
  pivot_longer(cols = starts_with("Day"), names_to = "Day", values_to = "Value") %>%
  group_by(Variable, Day) %>%
  summarise(Positive_Ratio = mean(Value == "1") * 100, .groups = "drop") %>%
  mutate(Positive_Ratio = round(Positive_Ratio, 1))

print(table3)

输出表格:

VariableDayPositive_Ratio
ADay166.7
ADay266.7
ADay3100.0
ADay4100.0
ADay5100.0
BDay166.7
BDay266.7
BDay366.7
BDay4100.0
BDay5100.0
CDay1100.0
CDay2100.0
CDay3100.0
CDay466.7
CDay566.7

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:35:56