为数据框的每个列(变量)创建单独的向量

汽油

目标:获取一个数据框,并为其每个列(变量)创建单独的向量。

以下代码使我接近:

batting <- read.csv("mlb_2014.csv", header = TRUE, sep = ",")
hr <- batting[(batting$HR >= 20 & batting$PA >= 100), ]
var_names <- colnames(hr)
for(i in var_names) {
path <- paste("hr$", i, sep = "")
assign(i, as.vector(path))
}

它为数据帧中的每一列创建一个向量,如以下输出所示:

> ls()
 [1] "AB"          "Age"         "BA"          "batting"     "BB"          "CS"         
 [7] "G"           "GDP"         "H"           "HBP"         "hr"          "HR"         
 [13] "i"           "IBB"         "Lg"          "Name"        "OBP"         "OPS"        
 [19] "OPS."        "PA"          "path"        "Pos.Summary" "R"           "RBI"        
 [25] "SB"          "SF"          "SH"          "SLG"         "SO"          "TB"         
 [31] "Tm"          "var_names"   "X2B"         "X3B"        

到目前为止,一切都很好,直到您调用了其中一个向量。例如:

AB
[1] "hr$AB"

las,创建的所有内容都是一个元素的字符向量。当我想要创建它时...

> AB <- as.vector(hr$AB)
> AB
[1] 459 456 506 417 492 496 404 430 497 346 494 501 415 370 500 331 501 539 456 443 316 437
[23] 449 526 349 486 432 480 295 489 354 506 315 471

...针对原始数据帧中的每个变量。

如何让R将字符向量“ path”中的元素识别为要在assign函数中调用的对象,而不是将单个字符元素分配给要创建的向量?我想将其保留在循环框架中,因为该项目的主要动机是教会我自己如何使用循环。

谢谢!

罗兰

我们list2env为此:

list2env(iris, .GlobalEnv)
head(Species)
#[1] setosa setosa setosa setosa setosa setosa
#Levels: setosa versicolor virginica

但是,几乎没有理由那样污染您的工作空间。

编辑:

这是您可以通过循环执行的操作:

var_names <- colnames(iris)
for(i in var_names) {
  assign(i, iris[[i]])
}

注意,path不是创建您的s而是[[访问data.frame列。如果您将列名用作字符向量,则可以使用(或[)使用此字符来访问列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据框中按列分组,并为每个组创建单独的csv

来自分类Dev

从长表为每个变量创建一个向量

来自分类Dev

为每个芹菜工人创建单独的数据库连接

来自分类Dev

从原始数据库为列中的值创建新数据框(需要更改每个新数据框的名称)

来自分类Dev

为数据框中给定列的每个备用行创建 NA

来自分类Dev

为向量或列中的每个元素创建新的小标题

来自分类Dev

R函数将数据框剥离为单独的列poly

来自分类Dev

Pandas 数据框 - 从单独的列创建日期时间索引

来自分类Dev

为数据框创建日期列

来自分类Dev

为数据框创建多列索引

来自分类Dev

获取每个单独列的总和的数据框,然后与其他数据框进行比较

来自分类Dev

使用for循环为数据框的每个数字变量创建三个相邻的箱形图

来自分类Dev

使用另一个变量的公式为数据框创建新列

来自分类Dev

使用另一个变量的公式为数据框创建新列

来自分类Dev

R为数据框中的每个主题创建新行

来自分类Dev

MATLAB 为列向量元素创建变量名称

来自分类Dev

根据R中数据框中的列条件创建向量

来自分类Dev

用于从数据框列创建多个向量的循环

来自分类Dev

为pandas数据框中的两列的每个精确匹配创建一个随机数的列

来自分类Dev

为单独的用户对单独问题的回答创建多个向量

来自分类Dev

为单独的用户对单独问题的回答创建多个向量

来自分类Dev

在熊猫数据框中为该数据框中的每个玩家创建一个新列,其中包含上一年的统计数据

来自分类Dev

从多个列中创建虚拟变量并创建新的数据框

来自分类Dev

为列表中的每个数据框转换 1 列

来自分类Dev

为每个唯一的列对切片数据框

来自分类Dev

如何基于单独向量中的值查询和显示数据框列中的值

来自分类Dev

如何将嵌套列表分解为数据框,每个嵌入列表都变成一个单独的列?

来自分类Dev

从每个数据框列创建绘图子图

来自分类Dev

给定条件为数据框的元素创建新变量

Related 相关文章

  1. 1

    在数据框中按列分组,并为每个组创建单独的csv

  2. 2

    从长表为每个变量创建一个向量

  3. 3

    为每个芹菜工人创建单独的数据库连接

  4. 4

    从原始数据库为列中的值创建新数据框(需要更改每个新数据框的名称)

  5. 5

    为数据框中给定列的每个备用行创建 NA

  6. 6

    为向量或列中的每个元素创建新的小标题

  7. 7

    R函数将数据框剥离为单独的列poly

  8. 8

    Pandas 数据框 - 从单独的列创建日期时间索引

  9. 9

    为数据框创建日期列

  10. 10

    为数据框创建多列索引

  11. 11

    获取每个单独列的总和的数据框,然后与其他数据框进行比较

  12. 12

    使用for循环为数据框的每个数字变量创建三个相邻的箱形图

  13. 13

    使用另一个变量的公式为数据框创建新列

  14. 14

    使用另一个变量的公式为数据框创建新列

  15. 15

    R为数据框中的每个主题创建新行

  16. 16

    MATLAB 为列向量元素创建变量名称

  17. 17

    根据R中数据框中的列条件创建向量

  18. 18

    用于从数据框列创建多个向量的循环

  19. 19

    为pandas数据框中的两列的每个精确匹配创建一个随机数的列

  20. 20

    为单独的用户对单独问题的回答创建多个向量

  21. 21

    为单独的用户对单独问题的回答创建多个向量

  22. 22

    在熊猫数据框中为该数据框中的每个玩家创建一个新列,其中包含上一年的统计数据

  23. 23

    从多个列中创建虚拟变量并创建新的数据框

  24. 24

    为列表中的每个数据框转换 1 列

  25. 25

    为每个唯一的列对切片数据框

  26. 26

    如何基于单独向量中的值查询和显示数据框列中的值

  27. 27

    如何将嵌套列表分解为数据框,每个嵌入列表都变成一个单独的列?

  28. 28

    从每个数据框列创建绘图子图

  29. 29

    给定条件为数据框的元素创建新变量

热门标签

归档