массив, матрица, список и dataframe

Подводя итоги «Getting Started» 3R (чтение, «Riting,» Rrithmetic) при чтении и записи, чтения и записи в различных структурах данных еще немного отличается.

вектор

имя

1 
2
month.days <-c ( 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ) 
имена (month.days) <- month.name

Операция текст

1. Разделение текста

1 
2
панграмма <- «быстрая коричневая лиса прыгает через ленивую собаку»
strsplit (панграмма, «» )

strplit()Функция pangramс пробелами разрезом, возвращаемое значение этой функции в список

1
Слова <-strsplit (панграмма «,«) [[1]]

Массив строк может быть принят

2. Текстовые ссылки

1 
2
пасты (буквы [ 1 : 5 ], 1 : 5 , сентябрь = "_" , коллапс = "---" ) 
вставьте ( "образец" , 1 : 5 )

Пространство подключения wordsэлементов, paste()принятый параметр должен быть множеством переменных, sepмы определяем соединитель между множеством векторов и collapseрешить , как объединить элементы вектора формы.

3. Текст Сортировка

1
сортировки (буквы, уменьшая = TRUE , )

4. Найти текст

1 
2
зиЬзЬг (state.name, Пуск = . 3 , СТОП = . 6 ) 
Grep ( "Новый" , state.name) #### с помощью поиска режима

grep(pattern,x)Возвращение в соответствии с положением элемента шаблона в х

5. Замена текста

1
GSUB ( «дешево» , «овечий» , «Волк в дешевой одежде» )
1 
2
х <-c ( "file_a.csv" , "file_b.csv" , "file_c.csv" ) 
у <-gsub ( "file_" , "" , х)

классификация факторов

factor(x,levels,labels)R - фактор может быть создан, но levelsотносится к входному значению х, labelsпредставляет собой выходное значение фактора вновь созданные.

коэффициент преобразования

1 
2
3
4
5
Числа <-фактор (С ( . 9 , . 8 , 10 , . 8 , 9 . )) 
STR (Числа)
as.character (Числа) ### возвращает элементы символов
as.numeric (номера) внутреннее представление ### возвращает фактор
, как .numeric (as.character (Числа)) ### возвращает числовой элемент

Заказанный фактор

Статистические данные категории
1
стол (state.region)
Порядковые переменные
  • Используя factor()функцию, и указанные параметрыordered=TRUE
  • Использование ordered()функции

матрица

1 
2
3
4
5
Матрица (Данные, Ncol, nrow, byrow) 
дим () ### см матрица размерности
из rbind () ### строк по векторной матрицы
cbind () ### столбцов по векторной матрицы
cbind ( 1. : . 3 , 4. : . 6 , Матрица ( 7. : 12 , Ncol = 2 ))

Индекс изменения и наименования

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
first.matrix <- матрица [ . 1 : 12 , Ncol = 4. , byrow = ИСТИНА ] 
############# значение
first.matrix [ 1. : 2 , 2 : 3. ]
first.matrix [ 2 : 3 ,] ### числовой индекс
first.matrix [- 2 , - 3 ] ### в дополнение к экстракции второй ряд, третий столбец все данные
first.matrix [-C ( 1. , 3 ,]) ## уменьшить размерность вектора #
first.matrix [ 2 ,, падения = большой колонке   Array, матрица и список dataframe Eral «> FALSE ] ### без уменьшения размеров, матрица по - прежнему
############# модифицированные
first.matrix [ 3. , 2 <-] 4.
First.matrix [ 2 ,] <- С ( 1. , 3. )
First.matrix [ 1. : 2 , 3. : . 4 ] <- С ( 8. , 4. , 2 , 1. )
############# названные рангов
rownames (Х) <- С ( 'А' , 'В' )
COLNAMES (Х) < -C ( 'C' , 'D' )
COLNAMES (Х) [ 1. <] - 'АА'
Х [ 'в' ,] ### в качестве индекса с именем

вычисление

1 
2
3
Т () ### транспозиции
Решить () ### Инверсия
Х% *% Т (Х) ### умножается на

массив

Векторы и матрицы являются массивами.

1 
2
Массив ( . 1 : 24 , дим С = ( . 3 , . 4 , 2 )) ### , чтобы создать трехмерный массив
- (DIM (х) <С . 3 , . 4 , 2 ) ### , чтобы изменить размерность вектора х

data.frame

Создано Matrix x.df<-as.data.frame(x)

Создано Vector data<-data.frame(x,y,z)

Если переменный создаются типа строки, R будет автоматически преобразован в фактор может быть использована stringAsFactor=FALSEдля поддержания строкового типа

1 
2
имена (данные) [ 2 ] <- 'B'  ### имени заголовка
rownames (данные) <- С ( 'А' , 'В' , 'С' ) ### назвал наблюдение

Значение операции data.frame

data.frame并不是向量,而是一组向量列表。但是数据操作时可以当做矩阵来处理,访问单个变量时可以用$,访问多个变量时可以用[]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#########修改值
y<-rbind(x,new.obs) ###添加单个观测
y<-rbind(x,'d'=new.obs) ###显式制定行名

new.obs<-data.frame(A=c(1,2),B=c(2,3))
rownames<(new.obs)<-c('e','f')
y<-rbind(x,new.obs) ###添加多个观测

x[c('e','f'),]<-matrix(c(1,1,2,4),ncol=2) ###使用索引添加多个值

##########修改变量
x$C<-new.var ###添加一个变量
new.df<-data.frame(newvar1,newvar2)
x<-cbind(x,new.df) ###添加多个变量

list

1
2
3
4
5
6
7
8
#######创建list
new.list<-list(x,y)###无命名列表
new.nlist<-list(name1=x,name2=y)###命名列表
names(new.nlist)###获取列表名称
length(new.list)###获取列表长度

########提取列表中的元素
###

提取列表中的元素

  • 使用[[]]返回元素本身
  • 使用[]返回选定元素的列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#########修改元素值
new.nlist[[1]]<-x
new.nlist[['name1']]<-x
new.nlist$name1<-x
new.nlist[1]<-list(x)
new.nlist[1:2]<-list(x,y)

##########移除元素
new.nlist [[ 1 ]] <- NULL
new.nlist [[ 'name1' ]] <- NULL
new.nlist $ name1 <- NULL
new.nlist [ 1 ] <- список ( NULL )

##########添加元素
new.nlist $ name3 <-z
new.nlist [[ 'name3' ]] <- г
new.nlist [ 'name3' ] <- список (г)

Список Синтез ##########
Z <-list (Z) ,
С (new.nlist, Z)

рекомендация

отwww.cnblogs.com/lijianming180/p/12239692.html