我对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),]
代码运行完美。
我的问题是,当两种子集方法相似时,为什么我会遇到不正确的尺寸误差?我在这里错过了什么吗?
非常感谢!