Nano Hash - криптовалюты, майнинг, программирование

Выберите каждую n-ю строку, сместите начало и повторите

Я пытаюсь создать новый столбец в data.frame, который создается путем выбора 9-й строки столбца, начиная с первой строки (т.е. строки 1, строки 9, строки 17). Как только он достигнет n-й строки столбца, мне нужно повторить этот процесс, начиная со строки 2 (выбор строки 2, строки 10, строки 18). У меня есть фиксированное количество строк в 96, поэтому мне нужно, чтобы оно повторялось до тех пор, пока оно не начнется в 9-й строке, а затем завершится.

Вот пример того, что я хотел бы сделать:

df <- data.frame(Row=1:96)
> df$nineth <- c(1,9,17,25,33,41,49,57,65,73,81,89,2,10,18,26,34,42,50,58,66,74,82,90)
> print(df)
   Row nineth
1    1      1
2    2      9
3    3     17
4    4     25
5    5     33
6    6     41
7    7     49
8    8     57
9    9     65
10  10     73
11  11     81
12  12     89
13  13      2
14  14     10
15  15     18
16  16     26
17  17     34
18  18     42
19  19     50
20  20     58
21  21     66
22  22     74
23  23     82
24  24     90

Есть ли способ сделать это с помощью цикла for? Я знаком с ними лучше, чем с семьей apply.

17.10.2019

Ответы:


1

Вы можете использовать двойственность матрицы/вектора R, чтобы сделать это легко...

df <- data.frame(Row=1:96)

df$nineth <- as.vector(matrix(df$Row, byrow = TRUE, ncol = 8))

head(df,15)
   Row nineth
1    1      1
2    2      9
3    3     17
4    4     25
5    5     33
6    6     41
7    7     49
8    8     57
9    9     65
10  10     73
11  11     81
12  12     89
13  13      2
14  14     10
15  15     18
17.10.2019

2

Следующие работы:

n <- 9
df$nineth <- unlist(lapply(1:(n-1), 
                           function(x){
                             df$Row[seq(x, nrow(df),by=n-1)]}))
17.10.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..