Size: a a a

R (язык программирования)

2020 August 21

Ю

Юрий 🐙💻🤖📊📈🚬... in R (язык программирования)
Значения переменных всегда 1 и NA?
источник

ЕТ

Евгений Томилов... in R (язык программирования)
Юрий 🐙💻🤖📊📈🚬
Значения переменных всегда 1 и NA?
Любое целое число или NA.
источник

Ю

Юрий 🐙💻🤖📊📈🚬... in R (язык программирования)
Евгений Томилов
Любое целое число или NA.
Два целых по 2 переменным может быть? Или NA?
источник

ГД

Григорий Демин... in R (язык программирования)
Евгений Томилов
А, тогда ладно.

for(i in seq(1, ncol(a), by = 2)){
   a[[i]] = dplyr::coalesce(a[[i]], a[[i + 1]])
}
a
источник

ЕТ

Евгений Томилов... in R (язык программирования)
Юрий 🐙💻🤖📊📈🚬
Два целых по 2 переменным может быть? Или NA?
Нет, только вместе 1 NA или NA 1
источник

PU

Philipp Upravitelev in R (язык программирования)
Григорий Демин

for(i in seq(1, ncol(a), by = 2)){
   a[[i]] = dplyr::coalesce(a[[i]], a[[i + 1]])
}
a
зачем, можно ж проще
tmp <- tibble(
 first = c(1, 1, NA, NA),
 second = c(NA, NA, 2, 2),
 third = c(3, NA, 3, NA),
 fourth = c(NA, 4, NA, 4)
)
ncols <- seq_len(length(tmp))
ncols_odd <- ncols[ncols %% 2 == 1]

tmp[is.na(tmp)] <- 0
tmp[, ncols_odd] + tmp[, ncols_odd + 1]
источник

ГД

Григорий Демин... in R (язык программирования)
ну на самом деле это очень спорный вопрос, что проще:)
источник

PU

Philipp Upravitelev in R (язык программирования)
не знаю, для меня где циклы - там уже усложнение
особенно если средства языка позволяют обойтись без них
источник

PU

Philipp Upravitelev in R (язык программирования)
впрочем, в обоих случаях придется решать проблему нечетного числа колонок
но это просто, думаю, взять четные и вычитать 1
хотя не, нечетный хвостик останется
источник

ГД

Григорий Демин... in R (язык программирования)
Без циклов я бы так делал.
tmp  = as.data.frame(tmp)
odd = c(TRUE, FALSE)
tmp_na = is.na(tmp[,odd])
tmp[,odd][tmp_na] = tmp[,!odd][tmp_na]
tmp

Но это не работает с тибблами и тоже не решает проблему кол-во колонок
источник

PU

Philipp Upravitelev in R (язык программирования)
о. симпатишно :)
источник
2020 August 22

a

aGricolaMZ in R (язык программирования)
для психологов
https://learningstatisticswithr.com/
источник

EP

Ed P in R (язык программирования)
Григорий Демин

for(i in seq(1, ncol(a), by = 2)){
   a[[i]] = dplyr::coalesce(a[[i]], a[[i + 1]])
}
a
Мне вариант с coalesce больше нравится, т.к. он легко расширяем до более общих случаев.

Я сталкивался с ситуациями, когда 7-балльную ординальную шкалу записывали в столбцы в виде NA NA NA V NA NA NA (V - это типа галочка).

для таких случаев coalesce идеален
источник

PU

Philipp Upravitelev in R (язык программирования)
это обратная задача one hot encoding
подозреваю, ее уже решали ##
источник

A

Andrey in R (язык программирования)
так это ж wide to long преобразование обычное
источник

A

Andrey in R (язык программирования)
tmp <- data.table(
 first = c(1, 1, NA, NA),
 second = c(NA, NA, 2, 2),
 third = c(3, NA, 3, NA),
 fourth = c(NA, 4, NA, 4)
)

melt(tmp)[!is.na(value)]
  variable value
1:    first     1
2:    first     1
3:   second     2
4:   second     2
5:    third     3
6:    third     3
7:   fourth     4
8:   fourth     4
источник

HC

Herman Cherniaiev in R (язык программирования)
Ребятки, у меня вопрос, как отфильтровать даты в формате %Y-%m-%d в конкретный день  (все строки например в каждый 10 день месяца). Я обычно использую  grepl("\\w*10", ..) но хочу работать с датами
источник

А[

Александр [capsula]... in R (язык программирования)
Herman Cherniaiev
Ребятки, у меня вопрос, как отфильтровать даты в формате %Y-%m-%d в конкретный день  (все строки например в каждый 10 день месяца). Я обычно использую  grepl("\\w*10", ..) но хочу работать с датами
format(as.Date(df$x,format="%Y-%m-%d"), format = "%d") и сравнить?
источник

HC

Herman Cherniaiev in R (язык программирования)
Я сначала тоже думал год и месяц убрать, но потом подумал что это не очень
источник

АК

Артём Клевцов... in R (язык программирования)
Herman Cherniaiev
Ребятки, у меня вопрос, как отфильтровать даты в формате %Y-%m-%d в конкретный день  (все строки например в каждый 10 день месяца). Я обычно использую  grepl("\\w*10", ..) но хочу работать с датами
as.POSIXlt(df$x)$mday == 10 или lubridate::mday(df$x) == 10.
источник