R数据框的子集

时间:2018-02-07 05:23:04

标签: r subset

我对R中的子集有一个新的问题。

这是我创建的功能。我试图从我目录中的文件列表中找到特定日期的中位数重量。

weightmedian <- function(directory, day){
  files <- list.files(directory, full.names = T)
  dat <- data.frame()
  for (i in 1:5){
    dat <- rbind(dat, read.csv(files[i]))  
  }
  dat_subset <- subset(dat$Weight, dat$Day == day, select = c("Patient.Name", "Age", "Day"))
  median(dat_subset[, "Weight"], na.rm = T)
}

我面临的问题是:

  

dat_subset&lt; - subset(dat $ Weight,dat $ Day == day,select = c(&#34; Patient.Name&#34;,&#34; Age&#34;,&#34; Day&# 34))

使用weightmedian(&#34; diet_data&#34;,15)运行此代码后收到的错误:

  

dat_subset错误[,&#34;重量&#34;]:维数不正确

然而,当我用这个替换上面提到的代码行时:

  

dat_subset&lt; - dat [which(dat [,&#34; Day&#34;] == day),]

代码运行完美。

我的问题是,当两种子集方法相似时,为什么我会遇到不正确的尺寸误差?我在这里错过了什么吗?

非常感谢!

0 个答案:

没有答案