【发布时间】:2021-09-03 07:27:57
【问题描述】:
我试图通过将每 12 个连续值(非重复)分配到一个新的(较短的)列来拆分一列数值数据。任何帮助将不胜感激。
到目前为止我尝试过:
df_all <- rnorm(500, mean = 5, sd = 1) # example data, I didnt use this one
df_final <- matrix(, nrow = 12, ncol = 0)
for(i in seq(1, length(df_all), 12)) {
x <- df_all[i:i+11]
df_final <- data.frame(cbind(df_final, x))
}
write.csv(df_final, file = paste0(rootdir,"/","mT",'.csv'))
它不起作用,它将段“x”的第 12 个值附加到新列的所有 12 行。我检查了 df_all[1:12] 并返回正常的正确值。
【问题讨论】:
-
您能否提供minimum reproducible example 的数据?
-
从技术上讲,一个带有一列数值的 csv 文件,这些值到底是什么并不重要,它可以全为 1,我只是希望它分成多列,每列都有一个最大行长12 个。
-
如果我们想产生想法和测试解决方案,我们将使用示例数据来实现。提供这些数据而不是指望我们自己生成数据是一种很好的做法。
-
很明显,我是新来的,在 r 中,您可以随意创建一长串数字...我不知道有什么大惊小怪的,让它对新手如此不友好跨度>
-
你的错误是
[i:(i + 11)]
标签: r dataframe data-manipulation