Значения NULL в table()
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Значения NULL в table()
Добрый день!
Командой table(X, Y) возвращается квадратная матрица.
Для некоторых пар X, Y частота равна NA (или NULL)
Как сделать так, чтоб NA заменить на 0 (ноль).
Если для частота пары (X, Y) частота вычисляется , то все работает как надо - возвращается матрица размером X на Y, а если частота не вычисляется, то соответствующие строки и столбцы в матрице пропускаются, а надо, чтоб в этих столбцах и строках выводились нули.
Спасибо!
Командой table(X, Y) возвращается квадратная матрица.
Для некоторых пар X, Y частота равна NA (или NULL)
Как сделать так, чтоб NA заменить на 0 (ноль).
Если для частота пары (X, Y) частота вычисляется , то все работает как надо - возвращается матрица размером X на Y, а если частота не вычисляется, то соответствующие строки и столбцы в матрице пропускаются, а надо, чтоб в этих столбцах и строках выводились нули.
Спасибо!
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
-
- Гуру
- Сообщения: 4067
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1062
- Ваше звание: программист
- Откуда: Казань
Re: Значения NULL в table()
1) NULL вообще не может быть элементом матрицы; table() не возвращает NA
2) для NA есть is.na()
x<-matrix(c(1,NA,NA,2),ncol=2)
is.na(x)
x[is.na(x)]<-0
x
3) чтобы не было пропусков в таблице, делаем фактор
x<-c(1,1,2,2,4)
y<-c(1,3,3,4,5)
table(x,y)
x<-factor(c(1,1,2,2,4),levels=1:5)
y<-factor(c(1,3,3,4,5),levels=1:5)
table(x,y)
2) для NA есть is.na()
x<-matrix(c(1,NA,NA,2),ncol=2)
is.na(x)
x[is.na(x)]<-0
x
3) чтобы не было пропусков в таблице, делаем фактор
x<-c(1,1,2,2,4)
y<-c(1,3,3,4,5)
table(x,y)
x<-factor(c(1,1,2,2,4),levels=1:5)
y<-factor(c(1,3,3,4,5),levels=1:5)
table(x,y)
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Значения NULL в table()
Спасибо за ответ.
Я недавно начал изучать R.
Постараюсь объяснить на примере, что мне надо
Нужно, чтоб возвращалась квадратная матрица. Здесь еще должна быть третья колонка с нулями
Я недавно начал изучать R.
Постараюсь объяснить на примере, что мне надо
Код: Выделить всё
> v1 <- c(1,1,2,2,2,3)
> v2 <- c(1,1,1,2,2,2)
> table(v1, v2)
v2
v1 1 2
1 2 0
2 1 2
3 0 1
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Значения NULL в table()
Или вот так например, тут нет 3-ей и 4-ой колонки и 4-ой строки
Код: Выделить всё
v1 <- c(1,1,2,2,2,3,5)
v2 <- c(1,1,1,2,2,2,5)
table(v1, v2)
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
-
- Гуру
- Сообщения: 4067
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1062
- Ваше звание: программист
- Откуда: Казань
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя