使用小数的For循环

使用小数的For循环,r,for-loop,R,For Loop,我想知道是否可以创建一个按小数递增的for循环。我试着写: for (i in seq(2,6,.1)) { data1 <- data[data$x1 > i,] model <- lm(y~x1, data = data1) r = summary(model1)$r.squared result[[i]] = r } 用于(序列(2,6,1)中的i) { 数据1 i,] 循环中的modelresult[[i]]将永远不会使用i的十进制值, 因

我想知道是否可以创建一个按小数递增的for循环。我试着写:

for (i in seq(2,6,.1)) 
{
   data1 <- data[data$x1 > i,]
   model <- lm(y~x1, data = data1)
   r = summary(model1)$r.squared
   result[[i]] = r
} 
用于(序列(2,6,1)中的i)
{
数据1 i,]

循环中的model
result[[i]]
将永远不会使用
i
的十进制值, 因为列表索引必须是整数

除此之外,如果您改变对
.1
增量的思考方式,您可以以
.1
增量循环:

for (i in seq(20, 60)) {
  div <- i / 10
  data1 <- data[data$x1 > div,]
  model <- lm(y~x1, data = data1)
  result[[i]] = summary(model1)$r.squared
} 
for(i在seq(20,60)中){

div您这样做的方式在R中不是最好的。这种方式更好(但不是最好的)。但是它接近您的原始代码

data = data.frame(y = runif(100),  x1 = runif(1000, 1,7))

f = function(x, data)
{
  data1 <- data[data$x1 > x,]
  model <- lm(y ~ x1, data = data1)
  r <- summary(model)$r.squared
  return(r)
}

results = lapply(seq(2,6,.1), f, data)
data=data.frame(y=runif(100),x1=runif(1000,1,7))
f=函数(x,数据)
{
数据1 x,]

型号请显示更多您的代码,因为您显示的部分是正确的。我刚刚编辑了它(不正确,但我是新用户),以显示代码
I
为十进制
结果[[I]]
没有意义