r - 如何为数据框中每 m 列的每 n 行计算不同的统计信息
问题描述
我有一个包含 84 行和 48 列的数据框,并且希望在每 7 行中为每 4 个连续列计算以下统计信息: sum sum min max 每个对应于一列,然后跳转到 48 的其他 4 列data.frame 的列。
我已经找到了StackOverflow 帖子,但它不适用于我的所有 data.frame。它只适用于每一列,每列每次只做一个统计。
v=dataset$count
n = 7
sidx = seq.int(from=1, to=length(v), by=n)
eidx = c((sidx-1)[2:length(sidx)], length(v))
thesum = sapply(1:length(sidx), function(i) sum(v[sidx[i]:eidx[i]]))
thesum
[1] 10957 10955 10953 10955 10954 10955 10957 10956 10958 10953 10954 10956
解决方案
我不确定我是否完全符合您的要求 - 但您可以在循环中使用索引。此循环每隔一列获取 7 行的汇总统计信息。
#making example data
ir <- iris[ 1:84 , 1:4]
ir <- do.call(cbind, rep( ir, 12))
# this is the size you specfied
dim( ir )
FINAL <- NULL
# For every set of seven rows
for( i in seq( 1 , nrow( ir) , 7 ) ){
# For every set of four columns
OUT <- NULL
for( j in seq( 1 , ncol( ir) , 4 ) ){
out <- cbind(
sum1 = sum( ir[ i:(i+6) , j ] ),
sum2 = sum( ir[ i:(i+6) , j+1 ] ),
min1 = min( ir[ i:(i+6) , j+2 ] ),
max1 = max( ir[ i:(i+6) , j+3 ] )
)
OUT <- cbind( OUT , out )
}
FINAL <- rbind( OUT , FINAL)
}
#output object match your specification
dim( FINAL )
推荐阅读
- flutter - 如何根据小部件的形状制作一个添加阴影的容器
- php - Typo3 自定义 Content Elements 缓存问题
- jquery - 将 1 天添加到引导日期选择器
- django - 在多个模型中搜索
- r - 计算面板数据 R 中的平均值
- python - 尽管 POST 请求成功,Django 保存方法不起作用
- python - 从作为数据框一部分的列表的一部分中提取数字
- html - 在特定断点处配置 .container 最大宽度 - Tailwindcss
- swift - Swift:每 x 秒返回一次值
- c - 从 macOS 构建 sqlcipher3 时出现致命错误(未找到“sqlcipher/sqlite3.h”文件)