AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-6463377

mto23's questions

Martin Hope
mto23
Asked: 2024-12-06 02:09:13 +0800 CST

通过重复时间变量(加速度计数据)对数据集进行子集[重复]

  • 5
此问题这里已有答案:
将 R 中的日期四舍五入为任意分钟/小时精度级别 (4 个答案)
昨天休息。

我有一个来自加速度计的数据集,它由一个时间变量和 3 个轴上的测量值组成。我每秒有 50 次测量,我的最终目标是对这些测量值进行子集化,即每秒随机选择其中的 30 次。

数据集如下所示:

> head(ACCL_20220211_190222_)
# A tibble: 6 × 4
  time                    x     y     z
  <dttm>              <dbl> <dbl> <dbl>
1 2022-02-11 19:03:31 14336  6720 -6080
2 2022-02-11 19:03:31 14272  6656 -6144
3 2022-02-11 19:03:31 14208  6720 -5952
4 2022-02-11 19:03:31 14272  6656 -5952
5 2022-02-11 19:03:31 14272  6592 -6080
6 2022-02-11 19:03:31 14208  6528 -6016

我首先尝试了这个:

ACCL_20220211_190222_s <- ACCL_20220211_190222_ %>% group_by(time) %>% dplyr::slice_sample(n=30)

这没有奏效,我认为这是因为时间值并不是真正唯一的,尽管它们看起来像是。因为当我使用该unique()函数时,我每个“唯一”时间获得 50 个值,而不仅仅是一个(另请参见dput()下面的输出)。

所以我想我可以创建一个对time变量进行分组的列,但是它不起作用,我认为这是由于同样的问题造成的。

下面的代码创建一个grouping_variable具有单个值 1 的列。

ACCL_20220211_190222_s <- ACCL_20220211_190222_ %>% 
  group_by(time) %>% 
  mutate(grouping_var = match(time, sort(unique(time))))

那么,我该如何分组此列?或者,如果有直接的方法对值进行二次采样,从每秒 50 个值到 30 个值,那就更好了!


这是数据集的一个示例(它有 10 秒的日期/时间,因此应该创建 10 个组):

> dput(ACCL_20220211_190222_)
structure(list(time = structure(c(1644606211.007, 1644606211.027, 
1644606211.048, 1644606211.068, 1644606211.089, 1644606211.109, 
1644606211.129, 1644606211.15, 1644606211.17, 1644606211.19, 
1644606211.211, 1644606211.231, 1644606211.252, 1644606211.272, 
1644606211.292, 1644606211.313, 1644606211.333, 1644606211.353, 
1644606211.374, 1644606211.394, 1644606211.415, 1644606211.435, 
1644606211.455, 1644606211.476, 1644606211.496, 1644606211.517, 
1644606211.537, 1644606211.557, 1644606211.578, 1644606211.598, 
1644606211.619, 1644606211.639, 1644606211.659, 1644606211.68, 
1644606211.7, 1644606211.72, 1644606211.741, 1644606211.761, 
1644606211.782, 1644606211.802, 1644606211.822, 1644606211.843, 
1644606211.863, 1644606211.884, 1644606211.904, 1644606211.924, 
1644606211.945, 1644606211.965, 1644606211.985, 1644606212.006, 
1644606212.026, 1644606212.047, 1644606212.067, 1644606212.087, 
1644606212.108, 1644606212.128, 1644606212.149, 1644606212.169, 
1644606212.189, 1644606212.21, 1644606212.23, 1644606212.251, 
1644606212.271, 1644606212.291, 1644606212.312, 1644606212.332, 
1644606212.352, 1644606212.373, 1644606212.393, 1644606212.414, 
1644606212.434, 1644606212.454, 1644606212.475, 1644606212.495, 
1644606212.516, 1644606212.536, 1644606212.556, 1644606212.577, 
1644606212.597, 1644606212.617, 1644606212.638, 1644606212.658, 
1644606212.679, 1644606212.699, 1644606212.719, 1644606212.74, 
1644606212.76, 1644606212.781, 1644606212.801, 1644606212.821, 
1644606212.842, 1644606212.862, 1644606212.883, 1644606212.903, 
1644606212.923, 1644606212.944, 1644606212.964, 1644606212.984, 
1644606213.005, 1644606213.025, 1644606213.046, 1644606213.066, 
1644606213.086, 1644606213.107, 1644606213.127, 1644606213.147, 
1644606213.168, 1644606213.188, 1644606213.209, 1644606213.229, 
1644606213.249, 1644606213.27, 1644606213.29, 1644606213.311, 
1644606213.331, 1644606213.351, 1644606213.372, 1644606213.392, 
1644606213.413, 1644606213.433, 1644606213.453, 1644606213.474, 
1644606213.494, 1644606213.515, 1644606213.535, 1644606213.555, 
1644606213.576, 1644606213.596, 1644606213.616, 1644606213.637, 
1644606213.657, 1644606213.678, 1644606213.698, 1644606213.718, 
1644606213.739, 1644606213.759, 1644606213.78, 1644606213.8, 
1644606213.82, 1644606213.841, 1644606213.861, 1644606213.882, 
1644606213.902, 1644606213.922, 1644606213.943, 1644606213.963, 
1644606213.984, 1644606214.004, 1644606214.024, 1644606214.045, 
1644606214.065, 1644606214.085, 1644606214.106, 1644606214.126, 
1644606214.147, 1644606214.167, 1644606214.187, 1644606214.208, 
1644606214.228, 1644606214.249, 1644606214.269, 1644606214.289, 
1644606214.31, 1644606214.33, 1644606214.351, 1644606214.371, 
1644606214.391, 1644606214.412, 1644606214.432, 1644606214.452, 
1644606214.473, 1644606214.493, 1644606214.514, 1644606214.534, 
1644606214.554, 1644606214.575, 1644606214.595, 1644606214.616, 
1644606214.636, 1644606214.656, 1644606214.677, 1644606214.697, 
1644606214.718, 1644606214.738, 1644606214.758, 1644606214.779, 
1644606214.799, 1644606214.819, 1644606214.84, 1644606214.86, 
1644606214.881, 1644606214.901, 1644606214.921, 1644606214.942, 
1644606214.962, 1644606214.983, 1644606215.003, 1644606215.023, 
1644606215.044, 1644606215.064, 1644606215.085, 1644606215.105, 
1644606215.125, 1644606215.146, 1644606215.166, 1644606215.186, 
1644606215.207, 1644606215.227, 1644606215.248, 1644606215.268, 
1644606215.288, 1644606215.309, 1644606215.329, 1644606215.35, 
1644606215.37, 1644606215.39, 1644606215.411, 1644606215.431, 
1644606215.452, 1644606215.472, 1644606215.492, 1644606215.513, 
1644606215.533, 1644606215.553, 1644606215.574, 1644606215.594, 
1644606215.615, 1644606215.635, 1644606215.655, 1644606215.676, 
1644606215.696, 1644606215.717, 1644606215.737, 1644606215.757, 
1644606215.778, 1644606215.798, 1644606215.819, 1644606215.839, 
1644606215.859, 1644606215.88, 1644606215.9, 1644606215.92, 1644606215.941, 
1644606215.961, 1644606215.982, 1644606216.002, 1644606216.022, 
1644606216.043, 1644606216.063, 1644606216.083, 1644606216.104, 
1644606216.124, 1644606216.145, 1644606216.165, 1644606216.185, 
1644606216.206, 1644606216.226, 1644606216.247, 1644606216.267, 
1644606216.287, 1644606216.308, 1644606216.328, 1644606216.349, 
1644606216.369, 1644606216.389, 1644606216.41, 1644606216.43, 
1644606216.451, 1644606216.471, 1644606216.491, 1644606216.512, 
1644606216.532, 1644606216.552, 1644606216.573, 1644606216.593, 
1644606216.614, 1644606216.634, 1644606216.654, 1644606216.675, 
1644606216.695, 1644606216.716, 1644606216.736, 1644606216.756, 
1644606216.777, 1644606216.797, 1644606216.818, 1644606216.838, 
1644606216.858, 1644606216.879, 1644606216.899, 1644606216.92, 
1644606216.94, 1644606216.96, 1644606216.981, 1644606217.001, 
1644606217.021, 1644606217.042, 1644606217.062, 1644606217.083, 
1644606217.103, 1644606217.123, 1644606217.144, 1644606217.164, 
1644606217.185, 1644606217.205, 1644606217.225, 1644606217.246, 
1644606217.266, 1644606217.286, 1644606217.307, 1644606217.327, 
1644606217.348, 1644606217.368, 1644606217.388, 1644606217.409, 
1644606217.429, 1644606217.45, 1644606217.47, 1644606217.49, 
1644606217.511, 1644606217.531, 1644606217.551, 1644606217.572, 
1644606217.592, 1644606217.613, 1644606217.633, 1644606217.653, 
1644606217.674, 1644606217.694, 1644606217.715, 1644606217.735, 
1644606217.755, 1644606217.776, 1644606217.796, 1644606217.816, 
1644606217.837, 1644606217.857, 1644606217.878, 1644606217.898, 
1644606217.918, 1644606217.939, 1644606217.959, 1644606217.979, 
1644606218, 1644606218.02, 1644606218.041, 1644606218.061, 1644606218.081, 
1644606218.102, 1644606218.122, 1644606218.143, 1644606218.163, 
1644606218.183, 1644606218.204, 1644606218.224, 1644606218.244, 
1644606218.265, 1644606218.285, 1644606218.306, 1644606218.326, 
1644606218.346, 1644606218.367, 1644606218.387, 1644606218.408, 
1644606218.428, 1644606218.448, 1644606218.469, 1644606218.489, 
1644606218.509, 1644606218.53, 1644606218.55, 1644606218.571, 
1644606218.591, 1644606218.611, 1644606218.632, 1644606218.652, 
1644606218.673, 1644606218.693, 1644606218.713, 1644606218.734, 
1644606218.754, 1644606218.774, 1644606218.795, 1644606218.815, 
1644606218.836, 1644606218.856, 1644606218.876, 1644606218.897, 
1644606218.917, 1644606218.937, 1644606218.958, 1644606218.978, 
1644606218.999, 1644606219.019, 1644606219.039, 1644606219.06, 
1644606219.08, 1644606219.101, 1644606219.121, 1644606219.141, 
1644606219.162, 1644606219.182, 1644606219.203, 1644606219.223, 
1644606219.243, 1644606219.264, 1644606219.284, 1644606219.304, 
1644606219.325, 1644606219.345, 1644606219.366, 1644606219.386, 
1644606219.406, 1644606219.427, 1644606219.447, 1644606219.468, 
1644606219.488, 1644606219.508, 1644606219.529, 1644606219.549, 
1644606219.569, 1644606219.59, 1644606219.61, 1644606219.631, 
1644606219.651, 1644606219.671, 1644606219.692, 1644606219.712, 
1644606219.733, 1644606219.753, 1644606219.773, 1644606219.794, 
1644606219.814, 1644606219.835, 1644606219.855, 1644606219.875, 
1644606219.896, 1644606219.916, 1644606219.936, 1644606219.957, 
1644606219.977, 1644606219.998, 1644606220.018, 1644606220.038, 
1644606220.059, 1644606220.079, 1644606220.1, 1644606220.12, 
1644606220.14, 1644606220.161, 1644606220.181, 1644606220.202, 
1644606220.222, 1644606220.242, 1644606220.263, 1644606220.283, 
1644606220.304, 1644606220.324, 1644606220.344, 1644606220.365, 
1644606220.385, 1644606220.405, 1644606220.426, 1644606220.446, 
1644606220.467, 1644606220.487, 1644606220.507, 1644606220.528, 
1644606220.548, 1644606220.569, 1644606220.589, 1644606220.609, 
1644606220.63, 1644606220.65, 1644606220.67, 1644606220.691, 
1644606220.711, 1644606220.732, 1644606220.752, 1644606220.772, 
1644606220.793, 1644606220.813, 1644606220.834, 1644606220.854, 
1644606220.874, 1644606220.895, 1644606220.915, 1644606220.936, 
1644606220.957, 1644606220.976, 1644606220.997), tzone = "UTC", class = c("POSIXct", 
"POSIXt")), x = c(14336, 14272, 14208, 14272, 14272, 14208, 14144, 
14336, 14208, 14272, 14144, 14208, 14336, 14336, 14208, 14272, 
14144, 14080, 14272, 14272, 14272, 14144, 14400, 14400, 14272, 
14400, 14272, 14336, 14272, 14208, 14272, 14336, 14144, 14208, 
14208, 14080, 14272, 14336, 14400, 14336, 14272, 14144, 14272, 
14208, 14080, 14272, 14080, 14400, 14080, 14208, 14336, 14336, 
14144, 14272, 14272, 14144, 14272, 14272, 14272, 14336, 14208, 
14336, 14336, 14400, 14400, 14272, 14336, 14272, 14336, 14144, 
14144, 14272, 14208, 14144, 14144, 14208, 14272, 14272, 14080, 
14208, 14208, 14208, 14144, 14272, 14272, 14336, 14208, 14336, 
14400, 14336, 14336, 14144, 14272, 14144, 14336, 14144, 14336, 
14144, 14272, 14400, 14272, 14336, 14272, 14336, 14208, 14272, 
14144, 14144, 14208, 14208, 14208, 14272, 14080, 14400, 14336, 
14336, 14400, 14400, 14272, 14272, 14208, 14080, 14272, 14272, 
14400, 14336, 14400, 14464, 14336, 14400, 14144, 14144, 14080, 
14080, 14080, 14272, 14272, 14208, 14144, 14464, 14336, 14400, 
14208, 14208, 14080, 14272, 14144, 14272, 14208, 14208, 14336, 
14336, 14272, 14336, 14272, 14336, 14144, 14272, 14272, 14272, 
14272, 14272, 14016, 14336, 14208, 14208, 14336, 14208, 14144, 
14144, 14272, 14080, 14144, 14208, 14208, 14208, 14080, 14144, 
14144, 14208, 14272, 14272, 14336, 14080, 14208, 14336, 13952, 
14016, 14144, 14144, 14080, 14144, 14144, 14144, 14208, 14208, 
14208, 14080, 14208, 14208, 14272, 14208, 14144, 14080, 14208, 
14080, 14208, 14144, 14144, 14272, 14208, 14144, 14144, 14400, 
14272, 14144, 14208, 14208, 14144, 14080, 14144, 14080, 14208, 
14336, 14208, 14272, 14144, 14208, 14144, 14144, 14144, 14144, 
14144, 14208, 14144, 14016, 14144, 14336, 14208, 14208, 14208, 
14144, 14144, 14080, 13952, 14208, 14272, 14272, 14272, 14272, 
14272, 14144, 14208, 14144, 14144, 14144, 14080, 14272, 14080, 
14208, 14208, 14080, 14208, 14336, 14144, 14272, 14400, 14208, 
14272, 14080, 14080, 14272, 13760, 14208, 14016, 14272, 14208, 
14208, 14208, 14272, 14144, 14080, 14144, 14016, 14016, 14080, 
13952, 14016, 13888, 14080, 14144, 14144, 14080, 14208, 14144, 
14208, 14208, 14144, 14144, 14272, 14208, 14208, 14208, 14144, 
14144, 14272, 14208, 14080, 14272, 14272, 14144, 14272, 14080, 
14144, 14208, 14336, 14144, 14208, 14080, 14208, 14080, 14208, 
13952, 14144, 14272, 14272, 14208, 14080, 14272, 14144, 14144, 
14272, 14208, 14144, 14208, 14144, 14144, 14144, 14080, 14272, 
14144, 14208, 14272, 14080, 14080, 14208, 14144, 14144, 14208, 
14080, 14208, 14208, 14272, 14208, 14272, 14144, 14336, 14208, 
14272, 14080, 14016, 14080, 14208, 14016, 14208, 14080, 14208, 
14208, 14016, 14144, 14336, 14144, 14144, 14208, 14144, 14272, 
14080, 14144, 14080, 14208, 14144, 14144, 14272, 14208, 14272, 
14080, 14016, 14016, 14336, 14144, 14208, 14208, 14208, 14208, 
14144, 14144, 14208, 14080, 14144, 14208, 14272, 14208, 14144, 
14208, 14272, 14080, 14208, 14144, 14144, 14208, 14144, 14080, 
14208, 14272, 14208, 14336, 14080, 14208, 14016, 14144, 14016, 
14080, 14144, 14272, 14144, 14208, 14208, 14208, 14208, 14272, 
14144, 14080, 14272, 13952, 14208, 14208, 14208, 14144, 14144, 
14144, 14208, 14080, 14272, 14208, 14272, 14208, 14144, 14080, 
14144, 14080, 14016, 14144, 14272, 14272, 14208, 14144, 14144, 
14080, 14144, 14144, 14144, 14144, 14144, 14272, 14208, 14080, 
14336, 14080, 14272, 14272, 14208, 14144, 14144, 14208, 14144, 
14144, 14144, 14144, 14208, 14080, 14016, 14080, 14144, 14016, 
14080, 14080, 14144, 14080, 14016, 14208, 14208), y = c(6720, 
6656, 6720, 6656, 6592, 6528, 6528, 6592, 6656, 6592, 6784, 6656, 
6720, 6720, 6528, 6592, 6720, 6656, 6592, 6720, 6592, 6720, 6784, 
6784, 6656, 6720, 6592, 6592, 6720, 6720, 6592, 6592, 6784, 6592, 
6720, 6592, 6656, 6720, 6592, 6528, 6656, 6720, 6720, 6656, 6592, 
6464, 6592, 6592, 6720, 6720, 6720, 6784, 6656, 6592, 6656, 6592, 
6528, 6656, 6528, 6656, 6656, 6528, 6656, 6592, 6656, 6592, 6720, 
6784, 6528, 6528, 6464, 6656, 6720, 6464, 6528, 6720, 6784, 6656, 
6592, 6720, 6656, 6528, 6656, 6720, 6592, 6592, 6656, 6720, 6784, 
6656, 6528, 6592, 6720, 6528, 6400, 6528, 6592, 6720, 6528, 6720, 
6592, 6720, 6656, 6528, 6528, 6528, 6528, 6656, 6528, 6592, 6656, 
6592, 6528, 6720, 6656, 6656, 6528, 6464, 6464, 6592, 6336, 6528, 
6464, 6656, 6656, 6528, 6464, 6720, 6656, 6592, 6592, 6400, 6464, 
6400, 6784, 6592, 6592, 6720, 6720, 6720, 6656, 6528, 6528, 6592, 
6656, 6528, 6528, 6592, 6528, 6592, 6784, 6720, 6592, 6720, 6656, 
6656, 6528, 6464, 6592, 6720, 6592, 6720, 6592, 6592, 6592, 6528, 
6656, 6592, 6656, 6656, 6400, 6400, 6528, 6656, 6528, 6592, 6656, 
6848, 6720, 6528, 6528, 6656, 6592, 6720, 6592, 6656, 6528, 6592, 
6528, 6592, 6528, 6464, 6784, 6592, 6592, 6464, 6656, 6656, 6784, 
6784, 6656, 6784, 6784, 6592, 6592, 6592, 6784, 6656, 6592, 6592, 
6720, 6592, 6528, 6592, 6656, 6592, 6464, 6656, 6592, 6720, 6592, 
6592, 6720, 6720, 6720, 6464, 6656, 6720, 6656, 6592, 6656, 6592, 
6656, 6720, 6656, 6912, 6720, 6656, 6720, 6592, 6528, 6656, 6656, 
6656, 6656, 6528, 6784, 6784, 6720, 6528, 6720, 6720, 6656, 6592, 
6400, 6592, 6720, 6656, 6592, 6656, 6848, 6656, 6656, 6720, 6592, 
6592, 6592, 6464, 6912, 6656, 6592, 6272, 6528, 6464, 6592, 6336, 
6528, 6592, 6784, 6720, 6656, 6656, 6592, 6528, 6464, 6464, 6464, 
6528, 6592, 6464, 6656, 6592, 6592, 6720, 6720, 6656, 6464, 6592, 
6528, 6592, 6592, 6464, 6528, 6528, 6784, 6528, 6656, 6592, 6528, 
6784, 6656, 6464, 6656, 6592, 6592, 6656, 6656, 6592, 6656, 6720, 
6656, 6528, 6464, 6720, 6656, 6592, 6592, 6784, 6720, 6720, 6656, 
6592, 6656, 6464, 6592, 6528, 6720, 6848, 6656, 6592, 6656, 6528, 
6592, 6784, 6912, 6656, 6400, 6656, 6528, 6528, 6592, 6656, 6784, 
6912, 6656, 6656, 6400, 6720, 6592, 6592, 6592, 6656, 6656, 6656, 
6656, 6592, 6592, 6592, 6784, 6656, 6464, 6720, 6592, 6720, 6720, 
6592, 6656, 6784, 6784, 6592, 6592, 6656, 6784, 6656, 6592, 6656, 
6656, 6592, 6592, 6720, 6656, 6592, 6528, 6656, 6592, 6592, 6592, 
6656, 6656, 6592, 6528, 6656, 6656, 6656, 6592, 6400, 6656, 6656, 
6464, 6656, 6720, 6848, 6720, 6656, 6656, 6720, 6720, 6336, 6528, 
6720, 6656, 6464, 6528, 6592, 6656, 6656, 6592, 6528, 6656, 6656, 
6464, 6400, 6592, 6528, 6528, 6720, 6592, 6656, 6656, 6592, 6592, 
6656, 6528, 6656, 6784, 6976, 6592, 6464, 6656, 6656, 6720, 6720, 
6528, 6528, 6720, 6592, 6592, 6464, 6464, 6464, 6528, 6656, 6656, 
6592, 6656, 6592, 6656, 6528, 6592, 6528, 6464, 6656, 6464, 6528, 
6464, 6592, 6656, 6592, 6592, 6656, 6656, 6592, 6656, 6464, 6528, 
6400, 6592, 6464, 6528, 6528, 6656), z = c(-6080, -6144, -5952, 
-5952, -6080, -6016, -5888, -6016, -6080, -6016, -6016, -6016, 
-6016, -6080, -6208, -6016, -5888, -5952, -6144, -5952, -5888, 
-5952, -6016, -5760, -6080, -5824, -6016, -6016, -5952, -6272, 
-6080, -5952, -5824, -6016, -5888, -5760, -5760, -5952, -6272, 
-6272, -5888, -5760, -5760, -6208, -6080, -6016, -6016, -5952, 
-6080, -6272, -6016, -6016, -6080, -6016, -6016, -6016, -6080, 
-6080, -6016, -5952, -6016, -5888, -5952, -6080, -6208, -5952, 
-5824, -5952, -5888, -6016, -5824, -5888, -6080, -6016, -6144, 
-6144, -6272, -5952, -6080, -6016, -6144, -5952, -6016, -6016, 
-6080, -5952, -6016, -6208, -6080, -6208, -6272, -5952, -6080, 
-6080, -6144, -5952, -6080, -6016, -5952, -6016, -6016, -6144, 
-6144, -6080, -6144, -6144, -6016, -5952, -6080, -6080, -6016, 
-6144, -5888, -6080, -6144, -6144, -6080, -5760, -6016, -5952, 
-5952, -5952, -6144, -6080, -6144, -6272, -6272, -6272, -6144, 
-6144, -6080, -6080, -6080, -6080, -5952, -6208, -6336, -6016, 
-6144, -6144, -6208, -6336, -6080, -5888, -6016, -6144, -6080, 
-6080, -6016, -6272, -6144, -6208, -6208, -6080, -6016, -6144, 
-6144, -6144, -6016, -6144, -6080, -6144, -6144, -6272, -6144, 
-6336, -6272, -6208, -6016, -6080, -6656, -6272, -6016, -6016, 
-6208, -6208, -6272, -6144, -6208, -6272, -6144, -6272, -6144, 
-6144, -6336, -6208, -6144, -6208, -6080, -6464, -6464, -6144, 
-6208, -6144, -6080, -6208, -6208, -6208, -6336, -6208, -6336, 
-6272, -6208, -6272, -6208, -6144, -6080, -6144, -6336, -6144, 
-6208, -6272, -6272, -6208, -6336, -6400, -6080, -6208, -6272, 
-6208, -6080, -6144, -6144, -6144, -6208, -6272, -6336, -6144, 
-6336, -6208, -6208, -6144, -6208, -6208, -6208, -6208, -6272, 
-6144, -6336, -6400, -6272, -6016, -6144, -6400, -6400, -6080, 
-6208, -6208, -6272, -6336, -6208, -6144, -6208, -6080, -6144, 
-6272, -6144, -6080, -6080, -6272, -6336, -6144, -6464, -6080, 
-6528, -5888, -6464, -6144, -6016, -6208, -6272, -6080, -6400, 
-6272, -6336, -6592, -6400, -6528, -6464, -6208, -6272, -6272, 
-6336, -6464, -6784, -6272, -6336, -6144, -6272, -6400, -6656, 
-6336, -6464, -6272, -6208, -6144, -6272, -6272, -6400, -6400, 
-6272, -6400, -6400, -6464, -6400, -6400, -6272, -6336, -6336, 
-6400, -6336, -6400, -5952, -6336, -6272, -6528, -6464, -6272, 
-5952, -6272, -6336, -6400, -6272, -6272, -6272, -6336, -6272, 
-6208, -6400, -6400, -6208, -6208, -6336, -6208, -6208, -6144, 
-6208, -6208, -6208, -6080, -6272, -6528, -6464, -6272, -6208, 
-6464, -6272, -6144, -6080, -6144, -6528, -6592, -6464, -6144, 
-6464, -6272, -6336, -6272, -6272, -6144, -6272, -6336, -6208, 
-6336, -6336, -6464, -6400, -6336, -6144, -6336, -6400, -6080, 
-6080, -6208, -6208, -6400, -6528, -6400, -6272, -6208, -6208, 
-6336, -6272, -6144, -6208, -6272, -6208, -6208, -6208, -6336, 
-6400, -6144, -6208, -6208, -6464, -6272, -6336, -6336, -6272, 
-6016, -6272, -6400, -6272, -6464, -6080, -6208, -6400, -6208, 
-6144, -6272, -6400, -6400, -6336, -6336, -6080, -6528, -6400, 
-6080, -6144, -6208, -6400, -6336, -6144, -6272, -6208, -6400, 
-6400, -6400, -6400, -6272, -6208, -6400, -6272, -6400, -6144, 
-6144, -6272, -6336, -6336, -6528, -6400, -6400, -6528, -6144, 
-6208, -6272, -6336, -6272, -6208, -6272, -6464, -6400, -6400, 
-6464, -6400, -6400, -6336, -6336, -6336, -6336, -6272, -6464, 
-6208, -6272, -6208, -6272, -6272, -6336, -6464, -6464, -6208, 
-6208, -6400, -6336, -6464, -6336, -6144, -6464, -6464, -6208, 
-6464, -6464, -6272, -6272, -6272, -6336, -6464, -6272, -6400, 
-6400, -6336)), row.names = c(NA, -491L), class = c("tbl_df", 
"tbl", "data.frame"))
  • 1 个回答
  • 35 Views
Martin Hope
mto23
Asked: 2024-09-27 18:00:42 +0800 CST

在一组相似的值中替换 NA

  • 10

我的数据集中有一列如下所示:

cluster_id
1
1
1
1
NA
1
NA
NA
2
NA
2
NA
3
NA
NA
3


cluster_id <- c("1","1","1","1","NA","1","NA","NA","2","NA","2","NA","3","NA","NA","3")

在使用时间列之前,顺序已经预先定义好了。我想要的是替换每个集群 ID 内的 NA,即,如果有一行是 2,然后是 NA,然后又是 2,我希望那个 NA 变成 2。数字之间的 NA 保持为 NA。示例:

cluster_id   cluster_id_new
1            1
1            1
1            1
1            1
NA           1
1            1
NA           NA
NA           NA
2            2
NA           2
2            2
NA           NA
3            3
NA           3
NA           3
3            3 

我在这篇文章zoo::na.locf中找到了该函数,它似乎接近我想要的,但我还需要考虑NA之后的值。有什么想法吗?

  • 5 个回答
  • 104 Views
Martin Hope
mto23
Asked: 2023-08-17 17:25:49 +0800 CST

选择每组连续 1 的行

  • 5

我有一个数据帧,我想通过仅选择连续值“1”来对其进行子集化。

具体来说,我有一个如下所示的数据框:

library(tidyverse)
library(zoo)

df <- data.frame(matrix(ncol = 3, nrow = 17))
colnames(df) <- c("row_id","id", "k_yes")
df$row_id <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)
df$id <- c("1_1","1_1","1_1","1_1","1_1","1_1","1_2","1_2","1_2","1_2","1_2","1_2","1_3","1_3","1_3","1_3","1_3")
df$k_yes <- c(1,1,1,0,1,1,0,0,0,1,1,0,1,0,1,0,1)
df
   row_id    id  k_yes
1       1   1_1      1
2       2   1_1      1
3       3   1_1      1
4       4   1_1      0
5       5   1_1      1
6       6   1_1      1
7       7   1_2      0
8       8   1_2      0
9       9   1_2      0
10     10   1_2      1
11     11   1_2      1
12     12   1_2      0
13     13   1_3      1
14     14   1_3      0 
15     15   1_3      1
16     16   1_3      0
17     17   1_3      1

我想创建两个数据集:

1)每组 ( id) 中只有“1”,但始终有两个或多个连续的。所以,如果两个“1”之间有一个“0”,至少最后一个“1”应该被丢弃。所以它会接受像eg 1-1,,1-1-1等等的序列,但不接受0-1-1or1-1-1-0

然后,我还想添加一列来了解已形成哪个新组/序列,因为它并不总是与 id 相同(如果 id 中有两个子组/序列)。基本上,该列对于整个数据帧的每个序列应该有一个唯一的代码(现在,我只是将 id 与一个字母绑定,但它可以是连续的数字/字母,例如)

这个数据框看起来像这样:

  row_id    id k_yes  new_group
1      1   1_1     1      1_1_A
2      2   1_1     1      1_1_A
3      3   1_1     1      1_1_A
4      5   1_1     1      1_1_B
5      6   1_1     1      1_1_B
6     10   1_2     1      1_2_A
7     11   1_2     1      1_2_A

2)另一种,每组 ( id) 接受“1”之间有一个“0”,但如果“0”之后没有其他“1”,则不接受。所以它会接受像eg 、、、、1-0-1等等这样的序列,但不接受像or或或这样的序列(在后面,它只会保留前一个1)。与之前的“new_group”列相同。1-1-0-11-1-0-1-11-1-0-1-0-10-1-11-1-01-1-0-0-1

df 所需的输出为:

   row_id    id k_yes  new_group
1       1   1_1     1      1_1_A
2       2   1_1     1      1_1_A
3       3   1_1     1      1_1_A
4       4   1_1     0      1_1_A
5       5   1_1     1      1_1_A
6       6   1_1     1      1_1_A
7      10   1_2     1      1_2_A
8      11   1_2     1      1_2_A
9      12   1_3     1      1_3_A
10     14   1_3     0      1_3_A
11     15   1_3     1      1_3_A
12     16   1_3     0      1_3_A
13     17   1_3     1      1_3_A

在本例中,id“1_1”仅获得“新组”(1_1_A) 的一个值,因为它都是相同的序列(包括 0)

我尝试遵循这个答案,但没有成功,因为我尝试过:

> df |>
     group_by(id) |> 
     mutate(b = c(first(k_yes) , zoo::rollsum(k_yes, 1))) |>
     summarise(groups_to_keep = id[which(b >= 2)]) -> gk

Error in `mutate()`:
ℹ In argument: `b = c(first(k_yes), zoo::rollsum(k_yes, 1))`.
ℹ In group 1: `id = "1_1"`.
Caused by error:
! `b` must be size 5 or 1, not 6.

我认为问题出在rollsum()函数上,但是在检查了帮助页面后,我仍然不清楚应该如何应用这个函数。

任何帮助表示赞赏!

更新:

我添加了数据集的新版本,它将在第一个数据集 (1) 中为“新组”创建两个值。

  • 1 个回答
  • 49 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve