Як створити таблиці в r (з прикладами)


Є два способи швидко створити таблиці в R:

Спосіб 1. Створіть таблицю з наявних даних.

 tab <- table (df$row_variable, df$column_variable)

Спосіб 2: Створення таблиці з нуля.

 tab <- matrix (c(7, 5, 14, 19, 3, 2, 17, 6, 12), ncol= 3 , byrow= TRUE )
colnames(tab) <- c('colName1','colName2','colName3')
rownames(tab) <- c('rowName1','rowName2','rowName3')
tab <- as.table (tab)

У цьому посібнику показано приклад створення таблиці за допомогою кожного з цих методів.

Створіть таблицю з наявних даних

Наступний код показує, як створити таблицю з наявних даних:

 #make this example reproducible
set.seed(1)

#define data
df <- data.frame(team= rep (c(' A ', ' B ', ' C ', ' D '), each= 4 ),
                 pos= rep (c(' G ', ' F '), times= 8 ),
                 points= round (runif(16, 4, 20), 0 ))

#view head of data 
head(df)

  team pos points
1 GA 8
2 AF10
3 AG 13
4 FY19
5 BG 7
6 BF 18

#create table with 'position' as rows and 'team' as columns
tab1 <- table(df$pos, df$team)
tab1

  ABCD
F 2 2 2 2
G 2 2 2 2

У цій таблиці показано частоти для кожної команди та комбінації позицій. Наприклад:

  • 2 гравці знаходяться на позиції «F» у команді «A»
  • 2 гравці знаходяться на позиції “G” у команді “A”
  • 2 гравці знаходяться на позиції «F» у команді «B»
  • 2 гравці знаходяться на позиції “G” у команді “B”

І так далі.

Створіть таблицю з нуля

Наступний код показує, як створити таблицю з 4 стовпцями та 2 рядками з нуля:

 #create matrix with 4 columns
tab <- matrix( rep (2, times= 8 ), ncol= 4 , byrow= TRUE )

#define column names and row names of matrix
colnames(tab) <- c(' A ', ' B ', ' C ', ' D ')
rownames(tab) <- c(' F ', ' G ')

#convert matrix to table
tab <- as.table (tab)

#view table 
tab

  ABCD
F 2 2 2 2
G 2 2 2 2

Зауважте, що ця таблиця точно така ж, як і створена в попередньому прикладі.

Додаткові ресурси

Як перебирати імена стовпців у R
Як створити порожній кадр даних у R
Як додати рядки до кадру даних у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *