我正在尝试运行这样的循环函数:
x <- c(1,2,3,4,7,8,9,10,13,14,15,16,19,20,22,23,24,26)
n<-rep(NA,length(x))
for (ii in 1:length(x)){
n[ii]<-subset(dat1, Plot==ii)
}
但是,出现错误消息:
There were 18 warnings (use warnings() to see them)
我正在寻找的输出是来自主要数据dat1
的18个单独数据n1,n2,n3,n4,n7,... n24和n26子集。
答案 0 :(得分:2)
我在理解你想要做什么方面遇到了一些麻烦,但如果你有一个向量dat1
,并且想要形成一个包含第一个,第二个,第二个的新向量n
。 ..,dat1
的第26个元素,这在R中很容易做到。试试:
> dat1 <- 1:60
> x <- c(1,2,3,4,7,8,9,10,13,14,15,16,19,20,22,23,24,26)
> n <- dat1[x]
> n
[1] 1 2 3 4 7 8 9 10 13 14 15 16 19 20 22 23 24 26
答案 1 :(得分:1)
如果你要做的是创建data.frames的“向量”,每个对应于Plot
变量的某个级别,你应该使用list
,而不是一个vector
。
x <- c(1,2,3,4,7,8,9,10,13,14,15,16,19,20,22,23,24,26)
n <- list()
length(n) <- length(x)
for (ii in 1:length(x)){
n[[ii]] <- subset(dat1, Plot==ii)
}