R语言如何将dataframe中的2,3列取均值,3,4列取均值,4,5列取均值,5,6列取均值,7,8列取均值,9,10列取均值并保存至新的dataframe
时间: 2023-11-06 13:08:26 浏览: 56
kMeans_k均值聚类_K均值_Kmeans_K._
你可以使用如下代码实现:
```R
# 假设原始数据框为df
df_new <- data.frame() # 创建一个新的数据框
for(i in seq(2, ncol(df), by=2)){
if(i+1 <= ncol(df)){
col_mean <- (df[, i] + df[, i+1])/2 # 计算相邻两列的均值
col_name <- paste(colnames(df)[i], colnames(df)[i+1], sep="_") # 创建新列名
df_new[, col_name] <- col_mean # 将新列添加到新数据框中
}
}
```
这段代码中,`seq(2, ncol(df), by=2)` 表示从第2列开始,每隔2列取一次,直到数据框的最后一列。使用循环遍历每一对相邻列,计算均值并保存到新的数据框中。`if(i+1 <= ncol(df))` 判断当前列和下一列是否超出了数据框的列数,如果超出则不进行计算和添加。
阅读全文