【问题标题】:Error in Dataframe : arguments implying different number of arguments数据帧中的错误:参数暗示不同数量的参数
【发布时间】:2017-09-15 22:04:35
【问题描述】:

我的数据框在每一列/变量中有很多异常值。我使用 Boxplot / IQR 截止 75% / 25% 删除了它们。我取出每一列并从中删除异常值。因此,每一列都有不同数量的值。现在我想将那些没有任何异常值的所有新变量组合到单个数据框中。我在数据框中收到此错误。我该如何解决这个问题?因为,我必须对那个新数据框执行逻辑回归。我尝试了 cbind.data.frame,然后与 rbind 类似,但这并没有解决问题。

代码如下:

newdata <- data.frame(finalsbp, mynewT, mynewldl,mynewtypea1, mynewobesity, mynewalcohol, age, famhist)

Error in data.frame(finalsbp, mynewT, mynewldl, mynewtypea1, mynewobesity,  : 

arguments imply differing number of rows: 447, 443, 448, 458, 454, 429, 462

附:年龄和家庭的长度是一样的。即462

【问题讨论】:

  • 我会考虑在您的数据上使用 merge()。请提供一些代码来制作一个最小可重复的示例,以及您的预期输出是什么。
  • @RichardLusch 我试过了 > merge(finalsbp, mynewT, mynewldl,mynewtypea1, mynewobesity, mynewalcohol, age, famhist) fix.by(by.x, x) 中的错误:'by' 必须匹配列数
  • @RichardLuschL 我已经编辑了我的问题,你可以检查一下。我的问题需要帮助。如果您不能回答,可以,但不要给 -1(尤其是当我做出更改时)。

标签: r dataframe outliers rbind cbind


【解决方案1】:

在不了解更多数据的情况下,您可以尝试使每个向量的长度与 this post 中所示的一样。

a <- seq(from = 1, to = 10)
b <- seq(15, 30)
c <- seq(2, 10)

length(a) <- n
length(b) <- n
length(c) <- n

newdata <- cbind(a, b, c)

这应该可以解决您的问题,假设您希望所有空白在数据框的末尾都显示为 NA。

【讨论】:

  • 谢谢。有用。我添加了 n=500,所以长度将是统一的,用于制作数据框。
猜你喜欢
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
相关资源
最近更新 更多