새로운 코로나 바이러스가 무기한 집에서 우한에서 자신의 논문 및 인턴십 학교 학생들을 쓰기 앞서 갈 자신에 매일 서, 또는 생명을 성취에 대해 뭔가를 배울 수없는 정말 아무것도 없었다하자, 발렌타인 데이의 좋은 시작을 활용하기로 결정 학습 의 남자 친구하면을 향기하지 않는 상관없이, 오늘은 경사스러운 연구 프로그램의 구현입니다.
왜 R?
사실, 오래 전, 아마 신입생 학년, 지난 여름에 물론 사용은 야구장을 기억하지 않는, 약간의 R하지만, 언어 이런 종류의 일을 배웠습니다. 현재 상황에서, 나를 위해, 그것은 여전히 매우 필요하다, 정밀 R을 배울 수 배웁니다. 이 시스템을 다시 시작할 대해 배울 아직 그래서 나는 이러한 R을하지 않았을 경우 결국, 인터뷰 후 학교에서, 면접관은 나에게 물었다.
왜 고급 R ?
학습 과정은 R 언어의 작업을 완료하는 사람들의 필요에 직접 "진짜 언어 R"또는 R 언어 연구 노트를 볼 수 꺼져 전에. 이 이하 약간 ~에 관해서는 그래서 과학 R에 대한 생각뿐만 아니라 방법의 과정에서이 책 꽤 좋은, 또 다른 영어 버전, 영어를 배울 수있는 블로그의 마지막 모습 "R 실제적인 언어입니다." 더 나은, 여기에 내가 그것을 완료 할 수 없습니다, 오 평가를 할보고 ... 배우
음, 말을 많이하지 않았다 배우기 시작!
소개
1-6 장 : 고급 프로그래밍 기법
장 7-10 : 데이터 관리 대책
장 11 ~ 14 : R과 클라우드 컴퓨팅 (아마존 클라우드)
15 장 : 동적 문서 및 보고서에 기술
제 1 장 : 프로그래밍 기초
- 고급 R 소프트웨어 선택의
R과 RStudio
자바
-Reproducing 결과
install.pacackages("checkpoint")
library(checkpoint)
checkpoint("2020-02-14", R.version = "3.4.4")
library(data.table)
같은 지주의 후속 버전에 대한 많은 기여를 R,가 있기 때문에 여기에 체크 포인트. 내가 이것을 사용하지 않은, 그래서 그러나 나는 또한 R 오류를 실행하는 데 시간이 오래 기다렸다.
-Types의 목적은
* 논리 개체에게 부울 값
TRUE. 1 =
FALSE = 0
TRUE
FLASE
* intergers整数
자본 L 접미사
42L
* 더블 더블 정밀 진짜
1.5
* 복잡한 숫자复数
내가 접미사
2+3i
* 공칭 공칭 스케일 수준 데이터 데이터는
ALSS 문자를 통해 저장으로 지정된 인용 부호 :
"a" ## character
* 값 기본값 없음
NA
NA_integer_
NA_real_
NA_character_
NA_complex_
* 인자因子
요인 변수가 이산 variale 처리되어야 함을 나타낸다. 요인은 원래 값을 표시하는 라벨, 정수로 저장됩니다.
factor(1:3)
factor(c("a", "b", "c"))
factor(letters[1:3])
* 벡터 벡터
c(1,2,3)
* 스칼라 스칼라
c(1)
* 매트릭스 매트릭스
matrix(c(1:6), nrow=3, ncol=2)
* 리스트列表
목록은 목록의 각 요소는 상이한 유형 될 수있는 물체의 벡터이다.
list(
c("a"),
c(1, 2, 3),
matrix(c(1:6), nrow=3, ncol=2)
)
* 데이터 프레임数据框
데이터 프레임 목록의 각 요소는 동일한 길이 인리스트의 특정 유형이다.
data.frame(1:3, 4:6)
data.frame(1:3, letters[1:3])
* 데이터 테이블数据表
데이터 테이블은 데이터 프레임과 유사하지만보다 빠르고 메모리 eficient을하고 수 있도록 설계되었습니다.
library(data.table)
data.table(1:3, 4:6)
결과는 data.frame 여기 data.table은 다르다 :
- 기본 연산자와 함수
* 할당赋值
= 및 <- 대입 연산자, 그러나 명확성을 위하여 모두가,<- 일반적으로 할당하는 것이 좋습니다.
x <- 5
y = 3
에서 기능 점검을 사용하여 다음
으로 여기에 볼 수있는 <- 할당 벡터이며, 실제 번호 할당을 얻을 수 =.
* 인덱스索引
1의 색인 R 시작.
x <- c("a", "b", "c")
x[1]
* 부분 설정은 서브 세트
x2 <- matrix(c(1:6), nrow=3, ncol = 2)
x2[1, 2] ## row 1, column 2
x2[1, ] ## all row 1
x2[, 1] ## all column 1
x2[c(1,2), ] ## all rows 1 and 2
x[-2] ## drop element two
x2[, -2] ## drop column two
x2[-1, ] ## drop row 1
* 액세스取值
단일 브래킷 단일 인덱스는 그 지점에서 전체 요소를 반환한다. 이중 괄호를 사용하여 목록의 요소 내에서 개체를 반환합니다.
명명 된 데이터 프레임 및 목록 액세스 구성 요소에 $ 연산자를 사용할 수 있습니다.
x3 <- data.frame(A = 1:3, B = 4:6)
y2 <- list(C = c("a"), D = c(1, 2, 3))
x3$A
y2$C
x3[["A"]]
y2[["C"]]
x3[1, "A"]
x3[, "A"]
각 행과 별도의 이름을 가질 수있는 각 열은,이 이름은 후속하는 값을 사용할 수 있습니다 :
rownames(x3) <- c("first", "second", "third")
x3["second", "B"]
데이터 테이블에서 값과 행은 같은 값을 가지고 있지만 따옴표를 필요로하지 수있는 시간 열을 :
x4 <- data.table(A = 1:3, B = 4:6)
x4[1, ]
x4[, A]
복수의 값은 () 연산자 지명 될 때 필요한 :
x4[1:2, .(A, B)]
인용 부호 값을 사용하려면, 옵션을 추가합니다 : = FALSE로 :
x4[1, "A", with = FALSE]
물론,이 옵션을 사용하지 않고 그것을 시도하고, 오류가 없습니다. 그리고 is.matrix (), is.vector ()와 is.charactor () 조사와 결과가 모두 거짓입니다.
이 부분 또한 뒤에 이야기 "[" "]은"실제로 함수이지만, 그것은 단지 이름을하지 않았다 브래킷의 잔해를, 이름을받을 자격이 없어 것은
또한 다른 방법으로 값이 정말 눈을 뜨게입니다 설명
'['(x, 1)
'['(x3, "second", "A")
그러나 나는 너무 멋진 또한 값을 다른 아무것도하지 않는,이 값을 느끼게하거나, 잘 당신의 방법을 얻을 ...
* ()는 상속
기능을 보충 is.class () 함수입니다 :
inherits(x3, "data.frame")
inherits(x2, "matrix")
결과는 TRUE 또는 FALSE 부울 값이다.
* 강압 캐스트
위험 캐스트는주의 할 필요가있다.
as.integer(3.8)
as.integer(3.2)
출력으로서,이 값은 정수로 캐스팅 실수은 정수 부분을 얻어, 3이다.
as.character(3)
as.numeric(3)
as.complex(3)
as.factor(3)
as.matrix(3)
as.data.frame(3)
as.list(3)
as.logical("a")
출력은 "NA"입니다
as.logical(3)
출력은 0이 아닌 모든 실수는 다른, TRUE의 출력 TRUE입니다
as.logical(0)
출력 FALSE 인
as.numeric("a")
출력은 "NA"이며, 경고를 포함, 경고가 디폴트 값은 캐스트를 발생하기 때문에
-Mathematical 연산자와 함수는
* 比비교를大小
4 > 4
4 >= 4
4 < 4
4 == 4
4 != 4
(가) "="이 과제이다 "=="더 평등 것을 여기에 있습니다.
다른 프로그래밍 부동 소수점 표시 다른 환경 때문에, 그래서 우리는 정확도 (오차)를 정의 할 수 있습니다 :
all.equal(1.0002, tolerance = .01)
* 논리 연산자 논리 연산자
&를위한 AND
|에 대한 OR
TRUE | FALSE
TRUE & FALSE
c(TRUE, TRUE) | c(TRUE, FALSE)
c(TRUE, TRUE) & c(TRUE, FALSE)
당신이 출력 결과를 원하는 경우에, 당신은 "||" "&&"를 사용할 수 있습니다 :
any(c(TRUE, TRUE, FALSE))
all(c(TRUE, FALSE, TRUE))
* 수학 연산자 수학 연산자
운영자 | 의미 |
---|---|
+ | 플러스의 |
- | 마이너스 |
* | 곱하기 |
/ | 외 |
^ | 힘 |
% / % | 取商 |
%% | 나머지를 타고 |
% * % | 행렬 곱셈 |
함수가 있습니다 :
sqrt(3)
abs(-3)
exp(1)
log(2.71)
사용할 수 있습니다 ? 산술 수학 연산자 일부를 조회 할 수 있습니다.
삼각 함수 :
cos(3.1415)
sin(3.1415)
그것은 사용할 수 있습니다 ? 삼각 쿼리 삼각 함수에.
행렬 연산 :
t(x2) ##将x2转置
crossprod(x2) ##内积
tcrossprod(x2) ##外积
제 1 장 끝 행복 친구 ~ ~