【问题标题】:Appending a variable to existing data depending on rows根据行将变量附加到现有数据
【发布时间】:2016-05-22 23:13:55
【问题描述】:

所以我有两列。我需要添加第三列。但是,这第三列需要 A 表示第一行数量,B 表示第二个指定数量的行。 我尝试添加这个 data_exercise_3 ["newcolumn"]

【问题讨论】:

  • 试试这个data_exercice_3['newcolumn'] <- c(rep("A", 3), rep("B", 6))

标签: r


【解决方案1】:

您似乎在正确设置数据框的子集时遇到问题。我建议您在进一步进行之前查看此概念,通过Coursera coursethis UCLA R learning module on subsetting data frames 之类的网站。子集化是使用 R 处理数据的重要组成部分,如果打下坚实的基础,你会走得更快!

您可以使用[row, column] 表示法将值分配给数据框的子集。由于您的数据框称为data_exercise_3,并且您要为其分配值的列称为'newcolumn',因此假设您希望前6行为“A”,接下来的3行为“B”,您可以编写它是这样的:

data_exercise_3[1:6,'newcolumn'] <- 'A'
data_exercise_3[7:9,'newcolumn'] <- 'B'

【讨论】:

    【解决方案2】:
    data_exercise_3$category <- c(rep("A",6),rep("B",6))
    

    【讨论】:

    • 所以首先,我想添加一个新列....然后我希望这个新列的前 6 行有一个字母 A,其他 5 行有一个字母B
    • 好的,那么我的 1 行代码将是:df$newcol
    • 我收到一个错误“df$category 中的错误
    • @vicky 这是因为你的 data.frame 没有命名为df,而是data_exercice_3。如果你没有定义df,默认情况下df是F分布密度函数并且R抱怨因为它认为你想要“子集”一个函数
    • @vicky 对不起,我应该使用你的命名约定来让你更容易。 data_exercise_3$category
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2023-02-01
    • 1970-01-01
    相关资源
    最近更新 更多