首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用将单个数据帧子集为R中的数据帧列表

使用将单个数据帧子集为R中的数据帧列表
EN

Stack Overflow用户
提问于 2017-12-27 14:54:09
回答 1查看 82关注 0票数 0

大家节日快乐!

这个网站对我过去的编程需求特别有帮助,所以我希望你能帮我解决这个问题,同时我也被困住了:)

上下文

目前,我有一个被称为wc_match_data的足球比赛的数据框架。如下所示:

代码语言:javascript
运行
复制
type_id tourn_id day month year team_A   score_A score_B team_B   win     loss
f       wc_1934  27  5     1934 Germany  5       2       Belgium  Germany Belgium

我无法对最后一列draw的数据进行拟合,但如果匹配是抽签,则draw列基本上是TRUE,如果不是,则为FALSE。在抽签的情况下,赢和输列都是由DRAW填充的。

type_id要么是f,要么是q,取决于比赛是世界杯预选赛还是世界杯决赛。tourn_id指的是比赛的目的,无论是预选赛还是决赛。

我想做什么

我基本上是在尝试为每个世界杯年份(1930年、1934年、1950年、1954年等)创建一个新的数据框架列表。每个新数据帧的第一列应该仅为参加世界杯的国家(因此,在每一届锦标赛中都会发生变化)。

以下是我正在做的事情

代码语言:javascript
运行
复制
# Create tournament vector (20 total)
wc_years       <- levels(wc_match_data$tourn_id)

# Create empty list
wc_dataframes  <- list()

# Filter
wc_dataframes  <- lapply(wc_years, function(year)
                         data.frame(subset(wc_match_data, tourn_id == year))

这对我没用。它确实创建了一个包含20个元素的列表,但是当我在我的环境中查看它时,一切都是无法识别的,20个数据帧中的每个元素的tourn_id列都表示它有20个级别,这显然不是我想要的。应该只有一个。我很迷茫,谁能给我指明正确的方向?如果能让事情变得更简单的话,我很乐意把我的数据发给你。

最后一个音符

如您所知,我甚至还没有为将独特的国家纳入lapply函数而烦恼。我知道这个密码:

代码语言:javascript
运行
复制
unique(c(as.character(unique(wc_match_data$team_A)),
                      as.character(unique(wc_match_data$team_B))))

将返回所有世界杯的独特国家名单,但我需要这些为每一个世界杯,我真的不知道如何做。

提前感谢您的帮助,祝您节日快乐!我希望这个问题能对将来的人有所帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-27 15:07:24

你在找split函数吗?基本上,在您的情况下,您将使用该年作为您的拆分因子。让我展示一个使用此函数的示例:

代码语言:javascript
运行
复制
set.seed(1)
dat=data.frame(matrix(rnorm(10*5),10,5))
split(dat,rep(1:5,each=2))
$`1`
          X1        X2        X3         X4         X5
1 -0.6264538 1.5117812 0.9189774  1.3586796 -0.1645236
2  0.1836433 0.3898432 0.7821363 -0.1027877 -0.2533617

$`2`
          X1         X2          X3          X4        X5
3 -0.8356286 -0.6212406  0.07456498  0.38767161 0.6969634
4  1.5952808 -2.2146999 -1.98935170 -0.05380504 0.5566632

$`3`
          X1          X2          X3         X4         X5
5  0.3295078  1.12493092  0.61982575 -1.3770596 -0.6887557
6 -0.8204684 -0.04493361 -0.05612874 -0.4149946 -0.7074952

$`4`
         X1          X2         X3         X4        X5
7 0.4874291 -0.01619026 -0.1557955 -0.3942900 0.3645820
8 0.7383247  0.94383621 -1.4707524 -0.0593134 0.7685329

$`5`
           X1        X2         X3        X4         X5
9   0.5757814 0.8212212 -0.4781501 1.1000254 -0.1123462
10 -0.3053884 0.5939013  0.4179416 0.7631757  0.8811077
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47994225

复制
相关文章

相似问题

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