Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将整数序列添加到具有大约500行的数据帧_R_Split_Dataframe_Subset - Fatal编程技术网

R 将整数序列添加到具有大约500行的数据帧

R 将整数序列添加到具有大约500行的数据帧,r,split,dataframe,subset,R,Split,Dataframe,Subset,我有一个506行的数据帧。我正在尝试用线性回归模型实现k倍交叉验证。这是我的网站的链接 我正在使用遗漏模型准备列车和测试数据帧。 我收到以下信息作为输入: df - data frame with 506 records k - fold cross-validation (example: 10) 这是我为准备测试和训练数据帧所做的: df <- c(1:506) # This is just for representation purposes df <- cbind(id

我有一个506行的数据帧。我正在尝试用线性回归模型实现k倍交叉验证。这是我的网站的链接

我正在使用遗漏模型准备列车和测试数据帧。 我收到以下信息作为输入:

df - data frame with 506 records
k  - fold cross-validation (example: 10)
这是我为准备测试和训练数据帧所做的:

df <- c(1:506) # This is just for representation purposes
df <- cbind(idx, df)
for(ii in 1:k) {
  train <- subset.data.frame(df, df[,1] == ii)
  test <- subset.data.frame(df, df[,1] != ii)
  # Further processing with train and test datasets
}
但是,我希望将数据帧分成k个相等的部分:

   idx  df
1    1   1
2    1   2
3    1   3
4    1   4
5    1   5
6    1   6
...
48   1  48
49   1  49
50   1  50
51   1  51
52   2  52
53   2  53
54   2  54
...
504 10 504
505 10 505
506 10 506

我对R比较陌生。因此,如果可能,请使用基本软件包,以便我了解我做错了什么?

如果我理解正确,问题在于您的idx列。下面是如何创建一个包含数据的序列,这些数据不能完全放入存储桶中。你有506个观察结果,你正试图将其放入10个桶中。某些存储桶将包含比其他存储桶更多的数据

df <- 1:506
idx <-ceiling(seq_along(df)/(length(df)/10))
df <- cbind(idx, df)
更新

在data.frame中加载csv数据时:


这对df有效这有效吗?idx我已将URL添加到我的csv。希望有帮助!在运行CV时,我倾向于使用split创建一个索引,并使用该索引对数据进行子集划分。例如,…K
df <- 1:506
idx <-ceiling(seq_along(df)/(length(df)/10))
df <- cbind(idx, df)
k <-10
for(ii in 1:k) {
  train <- subset(df, df[,1] == ii)
  test <-  subset(df, df[,1] != ii)
  # Further processing with train and test datasets
}
df <-read.csv("C:/temp/house_with_missing.csv",stringsAsFactors = FALSE)                   
idx <-ceiling(seq_along(1:nrow(df))/(nrow(df)/10))                
df <- cbind(idx, df)