【问题标题】:Non Numeric error while creating empty columns in data frame在数据框中创建空列时出现非数字错误
【发布时间】:2021-11-29 22:23:59
【问题描述】:

我正在尝试在现有数据框中创建额外的空列 - 104 列 数据框类如下: "tbl_df" "tbl" "data.frame"

              df1 <- data.frame(ROW_ID = c("23416","23416","23416"),
              Process_ID = c("SLT","SLT","SLT"),
              Operation_Code = c("SLT","SLT","SLT"),
              Resource_Group_Code = c("BD","BD","BT"),
              Location_Code = c("JS","JS","JS"),
              Resource_Code = c("B-T234","B-T234","B-T234"),
              Resource_Desc = c("699","699","699"),
              iDeleteFlag = c("N","N","N"),
              Attribute_Code = c("RA002","RA002","RA002"),
              Attribute_Value = c("266","269","298"),
              Capacity_Type = c("s","s","s"),
              Planning_Version = c("PDMT","PDMT","PDMT"),
              Valid_From = c("2012-02-01", "2012-03-01", "2012-04-01"),
              Valid_To = c("2012-07-01", "2012-08-01", "2012-09-01"))

它的列是“chr”、integer64 和 Date 类

我创建空列的代码如下:

         df1[15:118] <- sapply(1:104, "+", df1[[1]])

代码给出以下错误:

         Error in FUN(X[[i]], ...) : non-numeric argument to binary operator

请帮忙 我在做什么错误

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。
  • 您可能需要使用 pull() 来抓取单个列,因为它是一个小标题。
  • 你能用自然语言解释你认为代码应该做什么。这对我来说没有意义。
  • 我需要为现有数据框创建额外的列 - 104 列

标签: r


【解决方案1】:

您的 ROW_ID 被定义为字符而不是数字。因此 + 失败了

只是改变

ROW_ID = c("23416","23416","23416")

ROW_ID = c(23416,23416,23416)

您的代码将起作用

完整代码在这里:

  df1 <- data.frame(ROW_ID = c(23416,23416,23416),
                    Process_ID = c("SLT","SLT","SLT"),
                    Operation_Code = c("SLT","SLT","SLT"),
                    Resource_Group_Code = c("BD","BD","BT"),
                    Location_Code = c("JS","JS","JS"),
                    Resource_Code = c("B-T234","B-T234","B-T234"),
                    Resource_Desc = c("699","699","699"),
                    iDeleteFlag = c("N","N","N"),
                    Attribute_Code = c("RA002","RA002","RA002"),
                    Attribute_Value = c("266","269","298"),
                    Capacity_Type = c("s","s","s"),
                    Planning_Version = c("PDMT","PDMT","PDMT"),
                    Valid_From = c("2012-02-01", "2012-03-01", "2012-04-01"),
                    Valid_To = c("2012-07-01", "2012-08-01", "2012-09-01"))
  
  df1[15:118] <- sapply(1:104, "+", df1[[1]])

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多