在使用 R 语言的 data.frame() 函数创建数据框时,有时会遇到以下错误:

mp <- data.frame(time=c(6,6,6,7,10,13,16,22,23,6,9,10,11,17,19,20,25,32,32,34,35,NA,NA,NA,NA,NA,NA,NA,NA,NA),trt=c(rep('6-MP',11),rep(NA,19)),event=c(rep(1,11),rep(0,19), NA))
Error in data.frame(time = c(6, 6, 6, 7, 10, 13, 16, 22, 23, 6, 9, 10,  : 
  参数值意味着不同的行数: 30, 31

这个错误通常是因为 data.frame() 函数的参数向量长度不一致导致的。在上面的例子中,time 向量有 30 个元素,trt 向量有 31 个元素,event 向量有 30 个元素。为了解决这个问题,可以将最后一行的 NAevent 向量中删除,使其与其他向量长度一致:

mp <- data.frame(time=c(6,6,6,7,10,13,16,22,23,6,9,10,11,17,19,20,25,32,32,34,35,NA,NA,NA,NA,NA,NA,NA,NA),trt=c(rep('6-MP',11),rep(NA,19)),event=c(rep(1,11),rep(0,19)))

通过调整数据向量长度,可以消除错误并成功创建数据框。

除了调整数据向量长度之外,还可以使用其他方法来解决此错误,例如:

  • 使用 rbind() 函数将多个数据向量合并为一个数据框。
  • 使用 data.table 包创建数据框,该包在处理数据长度不一致方面更加灵活。
  • 使用 tidyverse 包中的 tibble 函数创建数据框,该函数对数据格式的要求更加宽松。

在使用 data.frame() 函数时,要注意参数向量长度是否一致,确保数据向量长度一致才能成功创建数据框。

R语言 data.frame() 函数错误:参数值意味着不同的行数

原文地址: https://www.cveoy.top/t/topic/n6wu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录