코너 해리스 : 아직도 내가 흥미 진진한 비디오를 생각
전문 컨설팅에 의해 생산 즉, R의 작업에 많이 사용합니다.
>> 내레이터 : 통계의 의미를, 분석 및 시각화
오늘날의 밝은 데이터 과학자 및 비즈니스 리더에 의존
강력한 의사 결정을 내릴 수 있습니까?
당신은 항상 그것을 볼 수 있습니다.
그러나이있다.
그것은 R라고, 오픈 소스 r-- 사용 통계 프로그래밍 언어
데이터 전문가 세계 모두를위한 사용에
사회 넓은 매핑에서 온라인 마케팅 동향
금융 및 기후를 개발하는 우리의 경제를 운전하는 데 도움 모델
지역 사회.
>> 그러나 정확히 R은 무엇인가 어디 R은 시작 했나요?
잘 원래 R 시작 여기에 두 교수와
누가 더 나은 통계를 원했다 학생들을위한 플랫폼을 제공합니다.
그래서 그들은 하나의 모델로 만들어 통계 언어 S. 후
그들은, 많은 다른 사람과 함께, 작업 및 R을 사용하여 보관하고,
R 도구를 만들고 찾는 R에 대한 새로운 응용 프로그램을 매일.
>> 이 덕분입니다 전 세계적으로 지역 사회의 노력,
R은 수천 성장 보관 내장 사용자가 만든 라이브러리
연구 기능을 강화하고, 크라우드 소싱 품질 검증
가장 인식 지원 모든 분야에서 업계를 선도하는
R. 때문에, 좋은 어느 사용 R은 무엇에서 최고입니다.
빨리 전문가 신진 및 쉽게 해석, 상호 작용,
빠르게 자신을 보여주는 데이터를 시각화 전 세계적으로 R 사용자의 성장 커뮤니티
어떻게 오픈 소스를 참조 R은 모양 계속
통계의 미래 데이터 분석 및 과학.
>> 코너 해리스 : 좋아, 좋아.
내 자신의 프레 젠 테이션 그래서 좀 더 맑은 정신 일 것이다.
그것은 많은 것을 포함하지 않을 것이다 신나는 배경 음악.
당신이 비디오에서 본 그러나, R은 일종의 범용 프로그램 언어.
그러나 대부분의 생성 통계 작업.
>> 그래서이 통계 설계, 데이터 마이닝을위한 데이터 분석을위한.
그래서 당신은 많은이를 볼 수 있습니다 디자인 선택이 R의 제조 업체
만든.
그것은 대부분을 위해 설계 없는 사람들
프로그래밍 전문가, 사람 단지 프로그램을 따기
측면에 그래서 그들은 자신의 일을 수행 할 수 있습니다 사회 과학이나 통계
또는 무엇이든.
>> 그것은 매우 많이 가지고 C.에서 중요한 차이점
구문과 패러다임하지만 이 사용은 크게 동일합니다.
그리고 당신은 꽤 느껴야한다 바로 박쥐 집에서 많이.
그것은 필수 언어입니다.
>> 그것에 대해 너무 많이 걱정하지 마세요 당신은 용어를 모르는 경우.
그러나 구별있다 필수 선언적 사이,
및 기능.
명령형은 당신이 만드는 의미 기본적으로 명령입니다 문.
그리고 통역 또는 컴퓨터들을 하나씩 따른다.
그것은 약하게있다, 입력 있어요 R.에는 타입 선언하지
>> 그리고 라인 다른 유형 사이
좀 더 느슨한보다 이들은 예를 들면, C에있다.
그리고 나는 거기에 말했듯이 매우 다양한 시설
그래프에 대한 통계에 대한 데이터 마이닝에 대한 분석.
이들은 모두 내장되어 있습니다 언어, 비디오가 말했듯이,
타사 라이브러리의 수천 그 당신은 다운로드하여 무료로 사용할 수 있습니다
매우 느슨한 라이센스 조건.
>> 일반적으로 그래서, 내가 권하고 싶습니다 당신은이 두 권의 책을보고 있음
당신은 알 하나에서 작동하는 거라면 이들의 공식 R 초보자입니다
안내서.
그것은에 의해 유지되는 것 R.의 핵심 개발자
당신은 다시의 무료 다운로드 할 수 있습니다 이 링크에서 법적으로 충전.
이러한 모든 슬라이드 갈거야 인터넷 최대, CS50 웹 사이트
이 후에 완료됩니다.
그래서 필요가 복사 없습니다 미친 듯이 일 다운.
>> 다른 하나는 COSMA Shalizi에 의해 교과서,
통계 교수의는 누구 카네기 멜론, 고급 데이터라고
에서 분석 보기의 초등학교 포인트.
이것은 주로 R 책이 아니다.
그것은 통계 책과 그것은 데이터 분석 책.
그러나 그것은 사람들에게 매우 접근 누가 통계 지식의 소량이 있습니다.
>> 나는 공식적인 과정을 찍은 적이 없다.
난 그냥 비트와 조각을 알고 다양한 연합군 과목에서
것을 나는의 과정을 촬영했습니다.
그리고 난 이해 할 수 있었다 그것은 완벽하게.
>> 모든 수치는 제공됩니다 R.에서 그들은 연구에서 만들어진다
그들은 또한 코드 목록이 각 그림 아래에 당신에게 그
당신은 어떻게 R 코드와 각각의 그림을.
그리고 그 경우에 매우 유용합니다 당신은 모방하려는
당신은 책에서 볼 몇 가지 그림.
>> 그리고 다시 무료 다운로드 죄송 stat.cmu.edu/cshalizi/
그 물결 cshalizi을 삭감해야한다.
나는 그 문제를 해결하려면 있는지 확인합니다 공식 슬라이드가 올라갈 때.
단지입니다 / ADAfaEPoV 책 제목의 약어.
>> 그래서 일반 caveats-- R 기능을 많이 가지고 있습니다.
난 단지 커버 할 수있을거야 많은 것들의 표면.
세미나 또한, 제 1 부분 데이터 덤프의 뭔가가 될 것입니다.
나는 그것에 대해 매우 죄송합니다.
기본적으로, 내가 갈거야 많은 일을 소개
바로 박쥐,가는 가능한 한 빨리.
그리고 우리는에 도착 있는 재미있는 부분,
내가 당신에게 모든 것을 보여줄 수있는 데모 우리는 화면에 대한 이야기​​했다고.
그리고 당신은 당신의 자신의 주위에 재생할 수 있습니다.
그래서 많이있을거야 기술 물건은 여기에 던져.
모두를 복사에 대해 걱정하지 마십시오.
때문에, 당신이 얻을 수있는 모든 나중에 CS50 웹 사이트에서 물건.
그리고 B, 그것은 정말 중요하지 않아 슬라이드에서이를 기억합니다.
그것은 당신이 얻을 것이 더 중요하다 그것은 몇 가지 직관적 인 시설
그리고 그건 그냥 장난에서 비롯됩니다.
>> 왜 R을 사용할 수 있습니까?
기본적으로, 당신은 프로젝트가 있다면 그 대용량 데이터 세트를 마이닝 포함, 데이터
시각화, 당신 당신이 인 경우에 알을 사용해야합니다
복잡한 통계 분석을하고, 즉, Excel에서 어려운 것
예를 들면,하고자 또한도 ... 당연 할
당신은 통계를 수행하는 경우 자동화의 분석.
의 당신이 웹 사이트를 유지하고 있다고 가정 해 봅시다.
그리고 당신은 서버 로그를 읽을 수 매일, 일부 목록을 작성
최고 국가 등 그 사용자는,에서 오는
시간에 대한 몇 가지 요약 통계 그들은 당신의 웹 사이트 또는 무엇에 지출.
그리고 당신은 매일이 작업을 실행하려면.
>> 이제 Excel에서이 작업을 수행하는 경우, 당신이 당신의 서버 로그로 이동해야 할 것이다
로 그를 가져 Excel 데이터 스프레드 시트,
수동으로 모든 분석을 실행합니다.
R, 당신은 단지 하나의 스크립트를 작성할 수 있습니다.
매일 실행하도록 예약 운영 체제에서.
그리고 오전 2시에 매일 밤, 또는 당신이 실행되도록 예약 할 때마다,
그것은을 통해 볼 것이다 그 날 인터넷 트래픽.
그리고 다음 날, 당신은거야 이 반짝, 새 보고서를
모든 또는 어떤 정보는 요청했다.
>> 그래서 기본적으로 R은 시스코입니다 시스코 분석 대 프로그램.
예비 이루어집니다.
의 실제 물건에하자.
그래서 세 실제가 언어의 종류.
숫자 유형이있다.
차이의 종류가있다 정수 및 부동 소수점,
하지만 정말.
문자가있다 문자열 인 입력합니다.
그리고 논리를 거기에 부울을 인 입력합니다.
>> 그리고 당신은 종류의 사이에 변환 할 수 있습니다 수치로 이러한 함수를 사용하여,
논리적으로 문자로.
당신이 호출 할 경우, 예를 들어, 문자열에 숫자로,
그것은 그 문자열을 읽으려고합니다 번호, 동일한 방법으로
그 a2i 및 scanf는 수행 및 C의 경우 당신은 참 또는 거짓에 숫자로 전화
그것은 1 또는 0으로 변환합니다.
당신은 문자로 호출하는 경우 아무것도는거야
로 그 변환 문자열 표현입니다.
>> 그리고 벡터와 행렬이있다.
그래서 벡터는 기본적으로 있습니다 1 차원 배열.
그들은 우리가 배열을 부르는 것입니다 C. 행렬, 2 차원 배열.
그리고 더 높은 차원 배열 할 수
3, 4, 5 차원이든이 숫자 값, 문자열,
의 논리 값.
>> 당신은 또한 수 있습니다 목록을 연관 배열의 일종.
그 비트에 얻을 것이다.
그래서 하나 중요한 것은 그 연구에서 사람들을 여행
전혀 있다는 것을 없다 실제, 순수한 원자 유형.
실제 구별 사이가 없습니다 숫자, 숫자 값처럼,
숫자 값과리스트.
숫자 값은 실제로 아르 길이가 1 인 벡터와 동일합니다.
그리고 이것은을 가지고 중요한 의미.
하나는, 당신이 할 수 있다는 것을 의미한다 참여 아주 쉽게 일
벡터에 번호를 추가하는 등을들 수있다.
R 것 기본적으로 그림 밖으로 당신은 무엇을 의미.
그리고 두 번째에 해당 얻을 수 있습니다.
또한 방법이 없다는 것을 의미한다 유형에 대한 범위 checker--
그런 뭔가 말 r-- 사용에 존재
당신은 하나의 값에 통과 한 경우 이 배열 또는 그 반대를 예상 할 때.
그리고 어떤 이상한 발생할 수 있습니다 나는이 때를 만났다 문제
나는 나의 여름 작업 중 R을 사용하고 있었다.
더 혼합형 어레이는 없다.
그래서 당신은 배열했다 가질 수 없습니다 첫 번째 요소는 나도 몰라한다,
문자열 "존"과 두 번째 요소는 수 (42)이다.
당신이 그렇게하려고하면, 당신은 얻을 것이다 모든 것은 단지 문자열로 변환.
그래서 우리는 캐릭터 존, 캐릭터 (42)가있다.
>> 가장 features-- 그래서 특이한 구문 R의 구문은 C와 매우 유사하다
몇 가지 중요한 차이가 있습니다.
타이핑이 매우 약합니다.
그래서 어떤 변수 선언이 없습니다.
할당은 이상을 사용 오류 운영자 하이픈보다.
댓글은 해시 마크입니다.
나는 우리가 해시 태그를 호출 일 지금 생각 그건 정말 아니다 아니지만 accurate--
이중 슬래시.
>> 모듈 형 잔류 %% 징후이다.
정수 나누기는 % / % 함께 이 투영 된 때 읽을 열심히
화면에.
당신의 범위를 얻을 수 있습니다 콜론 정수.
그래서 2,5 당신에게 벡터를 제공한다 모든 숫자 2 ~ 5의.
>> 배열은 하나의 색인, 이는 나사 많은 사람들이
그들은 더에서 인 경우에 최대 일반적인 프로그래밍 언어,
여기서 C, 같은 가장 상황이 제로 인덱스입니다.
다시, 이것은 어디 R의 유산이다 같은하지의 언어로
전문 프로그래머가 제공됩니다.
당신은 사회 학자라면 또는 경제 또는 뭔가
당신이 사용하려는 R 기본적으로 보조 등
당신의 더 중요한에 전문 작업,
당신은 찾을거야 조금 더 자연스러운 하나의 색인.
당신은 계산을 시작하기 때문에 일상 생활에서 1이 아닌 0.
>> FOR-루프,이 유사하다 foreach 문은, PHP로 구성
당신이 얻을 것이다하는 곧 in-- 배운다.
어떤 벡터의 값이며, 당신은 값으로 일을 할 수있다.
청중 : 그 강의에왔다.
코너 해리스 : 아, 그건 우수한 강의를 제공.
청중 : 할당, 그것이 오른쪽에서 왼쪽으로 가리 키도록되어?
코너 해리스 : 왼쪽 오른쪽에, 예.
당신은의 값으로 생각할 수 변수에 밀려 오른쪽
왼쪽에.
청중 : OK.
>> 코너 해리스 : 그리고 마지막으로 함수 구문은 약간 이상하다.
당신은 함수 이름 foo는 할당이 이 키워드 기능에 따라
다음 모든 인수에 의해 그 후 함수의 몸.
또 다시 이런 일 월 조금 이상한 것 같다.
그들은 후 제 2의 천성이 될 것이다 당신은 약간의 언어와 함께 작동합니다.
벡터 그래서, 방법 당신은 벡터를 구성
키워드 당신 C 형은, 다음입니다 모든 당신이 원하는 숫자 나 문자열
또는 무엇이든.
인수는 벡터합니다.
그러나 결과 배열은 평평하게됩니다.
그래서 당신은 배열 곳이 없습니다 일부 요소는 하나의 숫자
일부 요소는 배열 자체입니다.
>> 당신을 구성하려고한다면 배열의 첫 번째 요소가 4이었다
그리고 두 번째 요소 배열 3,5는 것입니다
다만, 4,3,5을 세 가지 요소의 배열을 얻을.
그들은 혼합 유형이 될 수 없습니다.
읽거나 쓰기를 시도하면 벡터의 경계의 외부
당신은 해당 없음이라는 값을 얻을 것이다 이는 누락 된 값을 의미합니다.
그리고 이것은위한 것입니다 통계 같은 사람
불완전한 데이터 세트와 함께 노력하고 있습니다.
>> 당신이 해야하는 기능을 적용하는 경우 배열에 하나의 번호를 취할
다음, 당신이 얻을 것이다 것은이며, 기능은 배열을 매핑합니다.
당신의 기능의 소요 가정 해 봅시다 그래서 만약 숫자 반환을 광장.
당신은 배열 2,3,5-에 그 적용 당신이 얻을 것이다 것은 배열 4,9,25이다.
>> 그리고 그것은 매우 유용 당신을 의미하기 때문에
에 대한 루프를 작성할 필요가 없습니다 적용과 같은 아주 간단한 일을
데이터 세트의 모든 구성원 함수.
어떤 대형 작업하는 경우 데이터 세트, 당신은 많은 작업을 수행해야합니다.
이진 기능은 항목 적용 항목.
나는에 얻을 것이다.
당신은 배열에 액세스 할 수 있습니다 대괄호 또는 벡터.
그래서 벡터 이름을 대괄호 (1) 당신이 첫 번째 요소를 제공 할 것입니다.
벡터 이름을 대괄호 (2) 당신에게 두 번째 요소를 제공합니다.
>> 당신은 벡터에 전달할 수 있습니다 그리고 지수는거야
다시 기본적으로 하위 요소 나가.
그래서 당신은 벡터 이름 브라켓 C를 할 수있는, 2,4- 당신은 포함하는 벡터를 얻을 것이다
제 2 및 제 4 배열의 요소.
그리고 당신이 원하는 경우 단지 빠른 요약 통계
사 분위와 같은 벡터의 범위, 평균, 최대, 무엇이든,
당신은 요약을 입력 할 수 있습니다 벡터 이름과 그를 얻을.
그건 정말 유용 아니다 프로그래밍하지만 당신은 재생하는 경우
데이터 세트의 주위, 또한 편리하다.
>> 기본적으로 Matrices-- 더 높은 차원 배열.
그들은이 특별한 표기법 구문을 가지고있다.
취득하는 배열과 행렬 데이터 죄송합니다, 매트릭스 in-- 가득
행 번호, 열 번호입니다.
일부 데이터를 가질 때, 그것은에 채우고 배열은 기본적으로 위에서 아래로가는
먼저.
그런 다음 왼쪽에서 오른쪽으로.
그래서, 그런.
그리고 R이 내장되어 행렬 곱셈,
스펙트럼 분해, 대각, 많은 것들을.
당신은 더 높은 차원하려는 경우 어레이 때문에 3, 4, 5,
또는 당신은 그 어떤 크기 할 수 있습니다.
구문은 배열 어두운는 C와 동일하다, 다음 차원의 목록입니다.
당신은 4 차원 배열 싶다면 치수 4, 7, 8, 9, 배열
희미한는 C (-4,7,8,9를) 같습니다.
>> 당신은 괄호와 함께 하나의 값에 액세스 첫 번째 항목의 쉼표 두 번째 항목.
당신은 전체 조각을 얻을 수 있습니다 행 또는 열.
이 불완전한 구문 그건 단지 숫자 쉼표 또는 쉼표로 열을 행
번호.
그래서 목록은 관련 배열의 일종이다.
그들은 여기에 자신의 구문을 가지고있다.
다시 미친 듯이하지 않습니다 이 모든 아래로 복사합니다.
이것은 단지 그래서 사람들 나중에 슬라이드를 통과
모든 좋은 기준이있다.
그리고 이것은 매우 자연스러운 번이 될 것이다 실제로 데모를 통해 도보.
그래서 기본적으로 연관 배열을 보여줍니다.
당신은으로 값을 액세스 할 수 있습니다 목록 이름, 달러 기호, 키.
목록이 foo에 이름이 있다면, 당신은 그런 식으로 액세스 할 수 있습니다.
당신은 전체 키 - 값 쌍을 얻을 수 있습니다 대괄호 인덱스에 전달하여.
당신은 존재하지 않는 읽을 경우 키, 당신은 널 얻을 것이다.
그것은 오류가되지 않습니다.
일이 연구는 다음과 같이 할 것입니다 그것을 할 수있는 널 훨씬.
그리고 이것은 당신이 있다면 것을 의미 할 수있다 널 꺼내 기대하지
일부 목록 읽기, 당신은 몇 가지를 얻을 수 있습니다 더 아래로 예측할 수없는 오류
라인.
>> 이것은 나에게 무슨 일이 있었 내 여름 일 때의 R을 사용했다
어떻게 일정을 변경할 경우 목록이 한 자리에 정의
하지만 나중에 변경하지 않은 그것에서 값을 읽을 코드.
그래서 무슨 일이 것은 내가이었다 이 목록 중 null 값을 읽고,
함수로 전달, 매우 혼란되고
나는 모든 종류의를 받았을 때 임의 무한대는 자르기
이 기능에.
특정 최대 적용하는 경우 때문에 또는 최소한의 기능은 null로,
당신은 무한 값을 얻을 것이다.
>> 데이터 프레임은, 그들이리스트의 서브입니다.
모든 값은 벡터이고 동일한 길이.
그리고 그들이 제시에 사용하고, 기본적으로, 데이터 테이블.
이 초기화 구문이있다.
이 모든, 다시, 많이있을 것입니다 분명 당신은 데모에 도착하면.
그리고 좋은 점에 대한 데이터 프레임은 당신이다
모든 컬럼에 이름을 부여 할 수 있습니다 모든 행에 이름.
그리고 그 액세스 할 수 있습니다 그들 약간 우호적.
또한이 방법은 대부분의 기능입니다 Excel 스프레드 시트에서 데이터를 읽어
또는 텍스트 파일, 예를 들면, 자신의 데이터를 읽습니다.
그들은에 넣어 것이다 데이터 프레임의 일종.
기능 functions-- 그래서 구문은 조금 이상한 것입니다.
다시이 함수의 이름이있어, 다음,이 키워드 기능을 할당하고
인수의 목록입니다.
몇 가지 좋은 일이있다 그래서 방법에 대해 기능이 여기에 작동합니다.
하나를 들어, 당신은 실제로 할당 할 수 있습니다 특정 인수에 기본값.
그래서 당신은 R1을 말할 수있다 equals-- 당신은 foo는 말할 수
R1은 무엇인가에 해당하는 기능입니다 사용자가 지정하는 경우 기본적으로
인수 없습니다.
그렇지 않으면, 그가에 넣어 무엇이다.
그리고 이것은 매우 편리 때문에 우리의 많은 기능
이 종종 수십 또는 인수의 수백.
플로팅 예를 들어 사람 그래프 또는 플로팅 산포도
제어 인수를 제목과 축에 이르기까지 모든
회귀선의 컬러 라벨.
만약 그렇다면 당신은 원하지 않는다 사람들이 지정 만들려면
이 모든 하나 하나 인수의 수백
의 모든 단일 측면을 제어 플롯 또는 회귀이든,
그것은 이러한 기본 값을하는 것이 좋다.
>> 그리고 당신은 실제로 수 여기에 다시 본으로 작성합니다.
아니면 더 좋은 예를 찾을 수 있습니다.
당신이 함수를 호출 할 때 당신은 실제로 수 인수 이름을 사용하여 호출합니다.
그래서 여기의 예 매트릭스 생성자입니다.
이 세 개의 인수를합니다.
보통 데이터를 가지고, 어떤 벡터이다.
사용자는 N 행을 갖는 행의 수이다.
당신은 N은 열 번호를 cols-- 있습니다.
사용자가 입력하는 경우 것입니다 N 행은 동일 무엇이든
N 개의 COL은 어떤 경우에 해당 당신은이 함수를 호출하고
당신은 실제로 그들을 취소 할 수 있습니다.
그래서 당신은 제 N 행 N 개의 COL을 넣을 수 있습니다 두 번째와는 아무런 차이가 없습니다.
그래서 좋은 작은 기능이다.
>> 가져 오기 및 내보내기를했다.
이것은 기본적으로 이루어질 수있다.
밖으로 쓸 수있는 시설도 있습니다 R은 임의의 이진 파일 개체
다음 다시 나중에 그것들을 읽어 보시기 바랍니다.
당신이하고있는 경우 편리 어떤 큰 대화 형 세션 (R)
당신은 저장해야 일이 매우 빠르게.
기본적으로 R은 작업 디렉토리를 가지고 파일에 기입 얻을
과에서 다시 읽어.
당신과 함께 그것을 볼 수 있습니다 getwg, setdw로 변경합니다.
여기에서 특히 흥미로운 아무것도
>> 이제 실제 통계 multilinear 회귀도 가능해.
일반적인 구문 그래서 복잡한 비트입니다.
모델은 기본적으로 큰 목적이다.
또, LM 할당 도착 어떤 함수 호출이다.
첫 번째 요소, Y 물결 X1 플러스 무엇이든.
내 구문은 여기에 조금 혼란 스럽다.
나는이 아주 미안 해요 표준 방법은
그 컴퓨터 과학 책이 작업을 수행.
그러나 그것은 조금 이상한 것입니다.
>> 그러니까 기본적으로, 그것은 작품이다 괄호, 첫 번째 항목
죄송합니다 variable--하고, 의존 변수 물결의 X1 플러스 X2 플러스
독립 그러나 많은 변수는있다.
그리고 이들은이 될 수 있습니다 벡터, 모두 같은 길이.
아니면 열 수 있습니다 데이터 프레임 헤더
당신은 단지에 지정하는 것이 두 번째 인수는 데이터 프레임.
>> 또한 지정할 수 있습니다 더 복잡한 수식
그래서 당신은 선형 필요가 없습니다 하나의 종속 변수를 회귀,
또는 기존의 벡터에 하나의 벡터.
당신은 예를 들어, 할 수있다, 벡터 성분 y를 제곱 플러스 1
과에 대한 그 퇴행 다른 벡터의 로그인합니다.
당신의 요약을 인쇄 할 수 있습니다 라는 명령으로 모델
summary-- 단지 요약 모델을 괄호.
다시 나는 명확히해야 뭔가.
수정 얻을 것이다 뭔가 다른 슬라이드는 인터넷에 올라갈 때.
당신은 단지 계산하려면 간단한 상관 관계
는 상관 벡터를 사용하여 1 벡터 2 기능의 핵심.
방법은 기본적으로 인 피어슨 상관 관계.
사람들은 당신이 할 수있는 표준 것들입니다.
이 또한 스피어와 Kendell 상관 관계
그 중 몇 가지 다양한 있습니다 순위 순서 상관 관계.
그럼 그들은 제품을 계산하지 않습니다 벡터 자체 사이의 순간,
하지만 벡터의 순위 주문.
나는 나중에 설명 할 것이다.
>> 청중 : 빠른 질문
>> 코너 해리스 : 물론.
>> 청중 : 그래서 당신은 계산하고 단순한 상관 관계가 할에 대한
당신은 통계가 있다고 가정 상관 관계에 대한 의미?
코너 해리스 : 당신은 필요가 없습니다.
LM은 기본적으로 그냥 기계입니다.
이 두 가지에 걸릴 것입니다 그리고 뱉어
가장 적합한 라인에 대한 계수.
또한 표준 보고서 그 계수에 오류가 발생합니다.
처럼 그리고, 당신을 말할 것이다 통계적으로 유의 한 절편
0에서 차이.
최적의 기울기가 맞는 라인 통계
0에서 다른, 등등.
그것은 아무것도지지 않습니다 그래서, 나는 생각한다 귀하의 질문에 대한 가장 좋은 대답이다.
그래.
>> Plotting-- 그래서 주된 이유 당신이해야 multilinear 회귀처럼, R을 사용합니다.
기본적으로 모든 언어 그 몇 가지 기능을 가지고있다.
그리고에 대한 정직 R의 구문 회귀 비트 비밀이다.
정말 빛나는 곳 그러나 플롯이다.
>> 주력 기능은 플롯이다 그것은 두 벡터, x 및 y 걸린다.
그리고 타원은 매우 의미 선택적 인수의 많은 수의 그
제목의 색상에 모든 것을 제어 다양한 라인 또는 여러 점,
플롯의 유형.
당신은 분산을 가질 수있다 플롯 또는 라인 플롯.
>> [들림] 2 벡터 동일한 길이.
이 첨부와 앞에 있습니다 스크립트에서 데이터 프레임.
그리고 이것은 그냥 열을 사용하게됩니다 대신 별도의 벡터의 헤더.
당신은 가장 적합한 라인과 지역을 추가 할 수 있습니다 그래프로 회귀 곡선.
>> 이 명령은 나열 여기에, AB 라인과 라인,
기본적으로이 얻을 팝업 창에 기록
이 가정하기 때문에 대화 형 R을 사용하고 있습니다.
당신이하지 않은 경우 당신은 할 수 두 개의 파일을 작성하는
당신이 좋아하는 것 정말 어떤 형식으로되어 있습니다.
미안 해요, 난 그냥 실현 오타가 있습니다.
당신은 열려면 다른 그래픽 장치
당신은 PNG 또는 불리는이 기능을 사용할 수 있습니다 JPEG 또는 다른 이미지 형식의 많은.
그리고 당신에 대한 그래프를 작성할 수 있습니다 어떤 파일 이름을 지정할.
당신이 use--해야한다는 것을 취소하려면 나는 slide--이를 기록하지 않았다
하지만 함수 호출 dev에있다 그 오프 점은 인수를 사용하지 않습니다.
>> 그런 시설이있다 3D 플로팅에 대한
과 윤곽에 대한 음모를 꾸미고 당신이 만들고 싶어
두 개의 독립 변수의 그래프.
지금은 이들로받지 않습니다.
>> 또한 몇 가지가 있습니다 애니메이션을위한 시설
사람들은 보통 타사에서 유지.
나는, R 그래프와 애니메이션을 수행 한 그러나 나는 이러한 제 3 자를 사용하지 않은
라이브러리.
그래서 난 정말 입증 할 수 없습니다 에 얼마나 좋은 사람들이다.
당신이 원한다면 추천 R을 사용하여 애니메이션을 만들려면
당신은 모두를 쓸 수있다 애니메이션 프레임
그리고 당신은을 사용할 수 있습니다 타사 program--
일반적인 사람은 FFmpeg를 호출 또는 ImageMagick-- 스티치하기
하나의 애니메이션으로 당신의 모든 프레임.
>> 데모 시간 그래서.
당신이 시스템과 같은 유닉스를 사용하고 있다면 이는 리눅스 BSD하지만 누가 BSD를 사용합니다.
OS X의 터미널 창을 열고 명령 프롬프트에서 R을 입력합니다.
당신이 R 스튜디오가있는 경우 또는 또한 작품 등.
Windows 사용자의 경우 당신은해야합니다 시작 메뉴에서 R을 찾을 수.
그것은 뭔가를 호출해야 R x64의 추천 포인트 뭐든간에.
거기에 그를 엽니 다.
>> 그래서 지금 그냥 날 보자 터미널 창을 엽니 다.
좋아, 검색.
청중 : 명령 공간
코너 해리스 : 명령 공간, 감사합니다.
나는 일반적으로 맥을 사용하지 마십시오.
터미널, 새 창을 보여줍니다.
새로운 윈도우가 설정이다 기본, R. 그래서 당신은 가야
환영 메시지, 이런 식으로 뭔가.
>> 그래서 대화 형 R을 사용하고 있습니다.
또한 물론 R 스크립트를 작성할 수 있습니다.
기본적으로 스크립트 실행 동일한 방법으로
당신은 컴퓨터에 앉아 있다면 한 번에 모든 라인 하나를 입력.
그럼 벡터를 만들어 시작하자.
화살표 C (1, 2).
1, 2, 4.
확인, 확인을 클릭합니다.
나는 폰트 크기가 더 큰 만들 수 있습니다.
>> 청중 : 명령 플러스
>> 코너 해리스 : 명령 플러스.
명령 플러스.
그래, 그 방법은?
좋다?
그래.
그럼 시작하자 벡터의 목록을 선언.
, 화살표, C 1,2,4를 수행합니다.
우리는 볼 수 있습니다.
이 브래킷에 대해 걱정하지 마십시오.
당신이 밖으로 인쇄 할 경우 브래킷은 너무하다 매우 긴 배열, 우리는 당신은 수있는 곳.
하나의 예로들 수 있다면 단지 200 범위 (2)를 할 수 있습니다.
나는 매우를 인쇄 한 경우 긴 배열, 괄호
그냥 그렇게 나는 유지할 수있다 추적하는 인덱스
내가 찾고 있어요 경우 우리는에있어 이 시각을 통해.
그래서 어쨌든, 우리는있다.
>> 그래서 나는 그 배열이 상호 작용하기 전에 말했다 매우 능숙하게, 예를 들면,
이 같은 단항 작업.
그래서 나는거야 생각 내가 더하기 1을 입력하면 얻을?
네.
그래, 지금은 만들거야 이 다른 배열입니다.
이제 B C 20, 40, 80을 가정 해 봅시다.
그래서 당신은 어떻게 생각하십니까 이 명령을 할 것인가?
요소를 추가합니다.
그래서 기본적으로 그게 무엇이다.
그래서이 아주 편리합니다.
그래서 내가 어떻게 이렇게 대해. 기음 이다의 10으로, 6 회 1을 가정 해 봅시다.
그래서 내가보고 싶어 포함에게, 당신은 생각 하는가?
여섯 그래서 모든 배수.
지금, 당신은 어떻게 생각하십니까 내가 이렇게하면됩니까?
나는이 조금 더 명확한, C, C를 만들 수 있습니다.
그래서 무슨 일을 할 나는이 작업을 수행 할 경우, 생각하세요?
플러스 다.
[알아들을 수 없는]
>> 청중 : 오류 또는 어느 단지 처음 세 개의 요소를 추가합니다.
>> 코너 해리스 : 꽤하지 않습니다.
이것은 우리가 가진 것입니다.
무슨 일 짧은 어레이는, 순환있어.
그래서 우리는 (124), (124), (124)를 얻었다.
네.
그리고 기본적으로, 당신은 볼 수 있습니다 이 동작하기 전에, 플러스 1,
이 동작의 서브 클래스로 짧은 배열은 숫자입니다
1 개의 원소 배열된다.
난 그냥 모든 벡터를 말하는 대신 어레이의 시간,
그 때문에 어떤 R 문서는 일반적으로하지 않습니다.
그것은 뿌리 깊은 C 습관이다.
>> 좋아, 그래서 지금 우리는이 배열이있다.
그래서 우리는이 배열, C가있다.
우리는 요약을 얻을 수 있습니다 C, 요약 C에 대한 통계.
그리고 그것은 좋은 데요.
그래서 지금의 몇 가지 매트릭스 일을 할 수 있습니다.
이제 M은 행렬이다 가정 해 봅시다.
의 세 가지 중 하나가 그것에게 세 가지를 만들어 보자.
그래서 NROWS 3은 동일하고,으로 ncols 3과 같다.
그리고 데이터에 대한 것은 이제 do--하자 그래서 뭐 당신이 할 것입니다 생각하십니까?
>> 오른쪽, 다음 하나.
그것은 nrow 및 ncolumn입니다.
그래서했습니다 내가 무슨 짓을했는지입니다 세에 의해 세 행렬을 선언
나는 아홉 요소의 배열에 전달했습니다.
모두의 로그 그래서 요소 구를 통해 하나.
그리고 모든 값 채우기 array-- 미안까지?
청중 :베이스 (10) 로그가 그입니까?
코너 해리스 : 아니, 로그는 자연 로그, 그래서 기본 전자.
그래, 당신이 원하는 경우 기본 (10) 로그, 난 당신이 거라고 생각
로그 (10)으로 나눈 무엇이든, 로그인합니다.
그리고 [들림] 그냥 그렇게 데이터 , 아래로 배열, 그래서 정상을 채워
다음 왼쪽에서 오른쪽으로.
그리고 당신은 다른 작업을 수행하기를 원한다면 배열의 n은 매트릭스라고 할 수 있습니다.
내가 13, 2를 모르는, 이제하자.
아니면 내가 더 흥미있는 일을 할 것입니다.
나는 4 2을 다하겠습니다.
nrow는,의, 3을 가정 해 봅시다 같습니다.
을 NcoI 4와 동일합니다.
엔.
그래서 우리는이 있어요.
>> 그리고 지금 우리가이 곱하려는 경우, 우리는 N %의 시간의 퍼센트를 할 것입니다
즉 N 왜냐하면.
그리고 우리는 매트릭스 제품이 있습니다.
그들은 그건 그렇고, 당신은 어떻게 보았는가 나는 N을 선언 할 때, 2-4
벡터까지 순환있어 그것은 N을 모두 채워?
당신은 가져 가고 싶어하는 경우 고유 분석,
이것은 우리가 아주 쉽게 할 수있는 일입니다.
우리는 고유의 N을 수행 할 수 있습니다.
그리고 이것은 우리의 첫 번째입니다 목록이 발생합니다.
>> 그래서 고유 N은 두 개의 키를 가진 목록입니다.
여기에이 배​​열 값.
그리고 벡터, 여기에이 배​​열된다.
그래서 당신은 추출하고자한다면, 말하자면,이 세 번째 열
고유 벡터 행렬에서, 때문에 고유 벡터는 열 벡터이다.
그래서 우리는 VEC 고유 N 달러 기호를 할 수 벡터, 쉼표 3의 [들림].
VEC.
예상대로, 점이다.
>> 그런 말을 n 번 %의 시간 VEC.
그래서 결과는 여기에 확실히 보이는 우리가 여기에 제 3 고유했다 경우,
있는 대응 세 번째 고유 벡터.
그냥 모든 것을 곱 이 고유 벡터, 구성 요소 현명한,
고유 값에 의해.
우리가 무엇을 기대 그리고는,이다 즉 고유은 무엇 때문에.
여기에 누군가를하지 않았습니다 선형 대수를 촬영?
몇 사람, 확인을 클릭합니다.
그냥 조금 당신의 두뇌를 끄십시오.
그리고 우리는 고유 N을 실제로 경우 3 회 VEC 달러 기호 값,
잘 같은 일을 얻는다.
그것은 행으로 다른 형식의 것 대신 열 벡터의 벡터,
하지만 큰 문제.
그래서 사람들은 기본적으로 좋은입니다 우리가 행렬과 함께 할 수있는 일,
증명 목록.
나는 좋은을 보여해야 뿐만 아니라 기능에 대한 것.
>> 그럼 say--하자 [들림] 기능,하자 전화
N N squared-- 기능에 대한 FUNC 그것 사실, 그건 정말 최고의 아니다.
A, B, 제곱 플러스 나.
그래서 한 가지에 대한 기능, 또, 그것들은
명시 적으로 반환 문을 필요로하지 않습니다.
그래서 당신을 그냥 ... 수 평가 마지막 문
반환 된 문을 것입니다, 또는 값이 돌아왔다.
이 경우에 그래서, 우리는 평가하고 하나의 문, 제곱 플러스 나.
즉, 기본 반환 값이됩니다.
그것은에 넣어 결코 아프지 않는다 명시 적으로 값을 반환
당신은 상대하고 특히 매우 복잡한 로직의 기능
흐름.
그러나 당신이 그들을 필요가 없습니다.
그래서 지금 우리는 FUNC 5, 1을 수행 할 수 있습니다 이것은 당신이 기대하는 것을 기본적으로.
우리가 할 수있는 뭔가 다른, 우리는 실제로 FUNC의 (B)을 수행 할 수 있습니다
1에 해당, 5 같습니다.
우리가 여기에있는 번호를 지정한다면, 이는 인수하면되는 인수에 간다
함수에서, 우리는 주위에 전환 할 수 있습니다 이 값은 어디든지 우리는 할 수 있습니다.
>> 청중 : 이유가 있나요 B와 그것을 쓰기
그냥 사용하는 것이 아니라 동일 숫자와 콤마?
코너 해리스 : 네, 일반적으로 이 기능이있는 경우이 작업을 수행
인수의 많은.
그것은 종종 같은 수 있습니다 플래그 당신은 좋겠
드문 경우에 사용하려고합니다.
그리고이 방법은 당신을 only-- 수 있습니다 특정 인수를 참조 할 수 있습니다
당신이 사용하려는 기본값이 아닌 값에 대한
당신은을 작성할 필요가 없습니다 플래그의 무리는 그 후 거짓 같습니다.
아니면 내가 다시이를 쓸 수 있습니다 B와 같은 기본 값은 2와 같습니다.
그리고 나는 F의 FUNC를 할 수있는, 나는 4, 1이 시간을 다하겠습니다.
4 그리고 17 제곱 플러스 1, 당신은 예상대로.
>> 그러나 나는 또한 수 만 FUNC 4이 전화,
나는 때문에 18를 얻을 수 있습니다 나는 B를 지정하지 마십시오.
따라서, B는 2의 디폴트 값을 얻는다.
>> 좋아, 그럼 지금 당신은이 있다면 데모와 함께 다음,
명령에이 줄을 입력 메시지를 표시하고 온다 기능을 참조하십시오.
사실, 그렇게하지 ​​않습니다.
이를 입력합니다.
당신이 뭔가를 얻어야한다.
mtcars 그래서 데이터에 내장되어 이 데모 설정
즉 오는 일 해요 제공 목적 당신의 R 분포 기본적으로있다.
이 통계의 편집이다 모터 트렌드 잡지의 1974 년 문제
다른 자동차 모델의 수에 대한.
>> 그래서 갤런 당 마일있다, cylinders-- 내가 무엇 DISP is-- 마력 잊어 버려.
아마.
방금 구글 MT 자동차의 경우, 첫 번째 결과 다음 하나
에서 될 것입니다 공식 R 문서
그것은 설명 할 것 모든 데이터 필드.
그래서 무게는 중량 is-- 톤에있는 차의 무게.
Q 초 분기 마​​일 시간입니다.
그래서 지금 우리는 몇 가지 재미있는 일을 할 수있다 MT 차량에 대한 데이터 필드입니다.
>> 그래서 우리는 일을 할 수있다 행 이름, MT 차있다.
이는 모든 행의 목록은 차의 이름입니다 데이터 세트.
우리는 COLNAMES, MT 차량이 작업을 수행 할 수 있습니다.
당신이 산 차량의 경우에, 이 같은 하위 숫자 인덱스.
우리는에서 두 번째 열을 얻을 이것은 실린더가 될 것이다.
>> 청중 : 당신은 무엇을 했는가?
>> 코너 해리스 : 나는 입력 MT 자동차, 괄호 전자,
이는 나에게 두 번째를 준 MT 차의 밖으로 열입니다.
우리가 행을 원하는 경우 또는, 내가 입력 할 수 있습니다 mtcars 예를 들어, 2 콤마.
그와 같은 다른 2 라운드 쉼표,.
그리고 그것은 당신의 행에 간다.
이 여기에 당신에게 제공하는 벡터로 열하지만 열입니다.
나는 지금 막 깨달았다 나는 설명하는 것을 잊었다
벡터에 대한 몇 가지 멋진 일 당신은 인덱스와 함께 할 수있다.
그래서 내가 지금 당장 할 수 있습니다.
그럼 C gets-- 퍼팅하자 1-10 pause-- 2 회에이.
그래서 C 단지가 될 것입니다 (20)를 통해 벡터 2.
나는 C2,이 같은 요소를 취할 수 있습니다.
나는 벡터에 전달할 수 있습니다 이런 식으로, 나를 보자 c--
VEC C와 같은, C보다 다른 이름을 사용합니다.
기본적으로, 나는이 일을 해요 이 그래서 당신은하지 않습니다
로 C 사이에 혼동 벡터 건설 함수
다음 변수 이름으로 C.
VEC 브래킷 C 4, 5, 7.
이것은, 다섯 번째, 네 번째 나를를 얻을 수 있습니다 하고 배열의 일곱 요소.
나는 부정적인에 넣어, VEC 작업을 수행 할 수 있습니다 마이너스 4와 같은 인덱스.
그와 함께이 날을 얻을 것이다 네 번째 요소는 제거.
그럼 난 조각을 원한다면, 나는 6를 통해 VEC이 작업을 수행 할 수 있습니다.
2 콜론 (6)는 또 다른입니다 벡터 2, 3, 4, 5, 6.
그 밖으로 뱉어.
>> 그래서 어쨌든, 다시 산 자동차에.
그래서 일부 회귀 분석을 수행 할 수 있습니다.
의 모델이하자 gets-- 가정 해 봅시다 선형 모르겠어요 regress--.
최초의 물론, mtcars을 첨부 할 수 있습니다.
그래서 [들리지] 모델 필름은의이 퇴보하게 물결 무게에 갤런 당 마일.
그리고 데이터 프레임은 mtcars입니다.
그래서 요약 모델.
>> 좋아, 그럼이 조금 복잡하게 보인다.
그러나 기본적으로, 보는 것처럼 우리 갤런 당 마일을 표현하려고
중량의 선형 함수로서 우리는 여기이 줄을 가지고,
37.28에있는 차단.
37.28 이론적 마일 것 제로 무게 자동차의 갤런 당.
그리고 모든 추가 톤을 위해, 당신은 갤런 당 약 오마일 노크
그 끕니다.
이 계수는 모두 당신 이 표준 오류를 볼 수 있습니다.
그리고 그들은 매우입니다 통계적으로 유의.
>> 그래서 우리는 매우 확신 할 수 마이너스 10 1 E (10).
음에 따라서 1 번 뭔가를 10, 당신이 무거운 차를 만들 경우 그,
이 갤런 당 악화 마일이있을 것이다.
아니면 우리는 다른 모델을 테스트 할 수 있습니다.
대신 같이 중량이 기능에 영향을 미치지,
,의 무게의 로그를 회귀하자 아마 효과적인 체중 때문에
주행 거리에 어떻게 든 선형이 아니다.
>> 이것은 우리에게 0.7528의 제곱 R을 주었다.
그럼 이것을 시도 할 수 있습니다.
이 시간의이 작업을 수행 할 수 너무 다른 변수.
모델 2.
그래서 요약, 모델 2.
좋아, 그래서 다시, 우리 여기에 우리의 가장 적합한 라인을 얻었다.
그리고이 time--이, 말하는 기본적으로 그 때마다
중량의 증가 (E)의 계수에 의해 자동차
당신은 갤런 당이 많은 마일을 잃게됩니다.
>> 그리고이 시간 우리의 잔류 기준 정말 중요하지 않습니다 그건 ... 에러.
잔류 표준 오차는 기본적으로 그냥 표준 오류
당신은 당신 후에 남아있는 것을 추세선을 빼앗아.
그리고 여기 제곱 우리의 r은 0.81이다 보다 약간 더되는 것을
우리는 0.52 이전했다.
>> 그리고 이제를 추가 할 수 이 회귀하는 용어입니다.
그럼 갤런 당 마일 회귀하자 모두 무게의 로그에
그리고, 이제 수행 Q 마일하자, 분기 마일 시간.
확인, 그것은 짓이야 모든 권리, qsec이 있어야합니다.
Qsec.
... 사실상 죄송합니다, 무엇을?
날이 뭔가를 부르 자 다른 모델 2 게다가.
날이 model3를 부르 자.
그래서 지금 우리는 요약 model3을 수행 할 수 있습니다.
그리고 다시, 이것은 기본적 당신이 기대하는 무엇.
당신은 긍정적 인 절편이있다.
증가 효과 무게는 부정적이다.
그리고 효과를 증가 분기 마​​일 시간
포지티브이지만, 비록 무게에 비해 너무 적은.
이제 직관적으로, 당신의 감각을 만들 수 있습니다 이 스포츠카에 대해 생각 말하면서.
매우 빠른 가속이있다, 매우 짧은 분기 마​​일 시간.
그들은 또한 더 많은 가스를 사용하는거야 분별 자동차가는 반면,
느린 가속을 가지고, 높은 분기 마​​일 시간,
그래서 ,, 더 적은 가스를 사용하는 갤런 당 더 높은 마일.
큰.
그래서 지금은 시간이다 이 같은 음모.
그래서 그렇게 베어 do-​​-하자 뼈는 우리가 plots-- 할 수
나는이 데이터 프레임을 장착했기 때문에 before-- 우리는 플롯, 중량 MPG을 수행 할 수 있습니다.
이 조금 더 큰합니다.
거기에, 우리는 기본적으로이 산포도,하지만 포인트
이에 볼 가지 어렵다.
>> 나는 즉석 무엇을 기억하지 않는다 구문은 플롯을 변경하는 것입니다.
그래서이 될 것 같아요 좋은 시간은 불러옵니다
아주 좋은 내장 도움이있다 기능, 도움말 따옴표 이름을 작동합니다.
우리는 기본적으로 가져올 것이다 당신이 원하는 무엇이든.
나는 실제로이 작업을 수행 할 수있을 거라 생각 유형은 점 플롯에 대한 P 같습니다.
그 아무것도 변경 했습니까?
그리고 아니, 정말.
괜찮아.
>> 어떤 이유로, 내가 이런 짓을 할 때 들어 얼마 전에 내 자신의 컴퓨터에,
모든 산란 지점 훨씬 명확했다.
어쨌든, 볼의 분산 종류는?
거기에 하나가있다.
이 몇 몇있다.
당신은 종류의 오른쪽을 볼 수 있습니까?
그래서 우리는 가장 적합한 라인을 추가하려면 조금 베어 여기이 음모에
bones-- 내가 그것을 조금 더 멋진 만들어 보자.
주요 체중에 비해 같습니다.
갤런 당 마일.
다시 말하지만, 당신은 얼마나 유용 볼 수 있습니다 선택적 인수도 여기 있습니다
물건을 넣어 가지고 있지 키보드 인수를 특정 순서
당신은 플롯 때문에이있을 때 이러한 인수 많이 걸릴.
>> Xlab 체중, 체중, 톤 같습니다.
괜찮아.
좋아, 그래,이 장치 조금 성가신되고 있습니다.
하지만 당신은, 일종의 거기 볼 수 있습니다 측면에 그래프의 제목이있다.
여기 there's-- 바닥에 이상 여기에 축 레이블이 있습니다.
나는 즉석 기억하지 않는다 어떤 명령이 ars--
기능들은 증가하는 어떤 그 라벨 및 타이틀의 크기,
하지만 그들은 거기에있어.
>> 그리고 우리가 원하는 경우 가장 적합한 라인을 추가,
우리는 내가 그때 엔 뭔가를 할 수 이 구문은 여기에 작성합니다.
그래서 우리는 단지 모델을 추가 기억 MPG, 무게, mtcars했다.
그래서 만약 내가 가장 적합한을 추가하고 싶어 라인, 나는 A, B 라인 모델을 할 수 있었다.
그리고 붐, 우리는 가장 적합한 라인.
그것은 다시 볼 가지 어렵다.
나는에 대해 매우 죄송 해요 기술적 어려움.
그러나 기본적으로 실행 위에서 아래 왼쪽에서 오른쪽으로.
>> 그리고 규모 인 경우 더 큰, 당신은 볼 수 있었다
절편이라고 당신은 무엇을 할 수 요약 통계에서 찾을 수
당신은 요약 모델을 입력합니다.
좋아, 그럼 나는 모두 가져 희망 감각의 무언가 무엇
R은 좋은 무엇이다.
당신보다 훨씬 더 좋은 플롯을 만들 수 자신의 시간에,이, 당신이 좋아하는 경우에.
>> 외부 함수 인터페이스 그래서.
이것은 일반적으로하지 않습니다 뭔가 입문 강의에 덮여
R 또는 소개 아무것도.
그것은 당신이 그것을 필요 해요 가능성이 아니에요.
그러나, 나는에 유용하다고 과거의 내 자신의 프로젝트.
그리고 좋은 없다 온라인에 대한 튜토리얼.
그래서 난 그냥 갈거야 이 과정을 모두 돌진
그리고 당신은 떠날 무료입니다.
그래서 외국 기능 인터페이스는 무엇입니까
당신이 볼를 호출하는 데 사용할 수있는 R. 내부와 기능,
C. 연구의 산술 그냥에 R이 내장되어 있습니다 C의 64 비트 부동 소수점 연산,
한 번 [들림] 유형입니다.
그리고 당신은 수행 할 수 있습니다 이유는 한 무리의이.
일례로, R은, 그것의 해석 하지 머신 코드에 아래로 컴파일.
그래서 당신은 다시 쓸 수 있습니다 도착 후 C 및 내부 루프
R. 등을 사용하는 장점 그것은 좀 더 편리 C. 이상이다
그것은 더 나은 그래프를 가지고 시설과 이것 저것.
그리고 아직도 수있는 동안은 얻을 수 내부 루프 중 최고 속도,
이는 당신이 정말로 그것을 필요로하는 곳에있다.
>> 기존의 C 라이브러리를 인용, 그 또한 중요합니다.
이 같은 일부 C 라이브러리가있는 경우, 나는, 푸리에 변환, 모르는
또는 아주 시생대을 통계 절차를 사용
고 에너지 천체 물리학에서 또는 뭔가, 나는 모른다.
고 에너지 천체 물리학 심지어 생각하지, 나는 생각한다.
하지만 당신은하는 대신 그 작업을 수행 할 수 있습니다 이들의 출신 R 포트를 작성합니다.
그리고 짓이야 다시, 당신의 경우처럼 R의 기본 라이브러리의 대부분을 보면,
내부에, 내부는 외부 함수를 이용하려고
매우 광범위하게 인터페이스.
그들은 푸​​리에 같은 일을해야합니다 변환 또는 상관 관계를 계산
계수는 C로 작성, 그들은거야 그냥 주위에 R 래퍼가 있습니다.
인터페이스는 조금 어렵습니다. 나는 생각한다
그 어려움은 과장되어 당신이 찾을 지침의 많은.
그러나 그럼에도 불구하고, 조금 혼란 스럽다.
그리고 나는 할 수 없었다 그것을 위해 좋은 자습서를 찾을 수 있습니다,
그래서이 바로 지금이다.
다시 말하지만,이 모든 세그먼트 나중에 참조 할 수 있도록 더 많은 것이다.
복사에 대해 걱정하지 마십시오 지금 아래 다.
다음 지침에 따라서 유닉스 계열 시스템을위한 것으로
리눅스, BSD는 OS X의는 나도 몰라 이 윈도우에서 작동하는 방법,
하지만 그냥하지 마십시오 당신의 Windows에서 최종 프로젝트.
당신은 정말하고 싶지 않다.
유닉스는 훨씬 더 집합입니다 캐주얼 프로그래밍까지.
그래서, 기본적으로 외국 기능 인터페이스입니다.
당신은 C를 작성하려면 R 사용하기위한 기능,
모든을한다 포인터로 인수.
>> 그래서 하나의 값이 이 값이 가리키는 것을 의미한다.
배열의 경우,이 포인터는 첫 번째 요소에있는
배열 이름이 실제로 의미하는 것입니다.
다시 말하지만, 이것은 당신이 있어야합니다 무언가이다 꽤 완전히 p는 다섯을 설정 한 후 아래로.
배열 이름은 포인터 첫 번째 요소,
부동 소수점 형식은 이중이다.
그리고 당신의 기능은 무효 반환한다.
이 할 수있는 유일한 방법 실제로 무슨 일이 있었는지 R 말해
R은 준 메모리를 수정하는 것입니다 그것에 외국 기능을 통해
인터페이스.
>> 그래서 나는이 작성한 여기 예제이다
사용을 계산하는 기능 두 벡터의 내적.
그것은 두 개의 인수, vec1, VEC2 소요 어떤 벡터 자체이며,
다음 N, 이는 인 길이 다시 때문에,
R은 찾아 [들림] 내장되어 벡터의 길이,하지만 C하지 않습니다.
C에서, 벡터는 임의 메모리의 구분 덩어리.
그래서 방법을 수행 할 수 있습니다 내적 계산
단지 매개 변수를이을 설정 제로 다음을 통해 반복
1 있기 때문에, N 스타합니다 N 길이의 포인터,
단지에 뭔가를 추가 이 출력 매개 변수입니다.
그리고 그것은 좋은 방법이 될 수 있습니다 당신은 할 거라면
이 두 개의 분리 된 C 함수를 작성합니다.
그 중 하나는 그 중 하나 단지 has-- 인수 및 형식을 취
그들은 일반적으로 C로 될 것이라고
>> 그래서 배열을 포인터로 인수.
그러나 N 같은 단일 값 인수, 그냥, 복사에 의해 값으로한다
포인터없이.
그리고 그렇지 않습니다 [들림] 아웃 포인터.
그리고 당신은 할 수 있습니다 다른 기본적
래퍼 기능이 기본적으로 요구를 처리
외국 기능의 당신을위한 인터페이스를 제공합니다.
>> 당신은 R이 전화하는 방법은 한 번이다 당신은, 당신의 함수가 C로 작성해야
당신은 R에 cmd를 shlib, R을 입력 명령 공유 라이브러리,
푸 도트 C, 또는 무엇이든 파일 이름이며,
그리고 OS가 R 단자에 있지 껍질.
그리고이 만들어집니다 foo를 호출 라이브러리는 이렇게 점.
그리고 당신은 그것을로드 할 수 있습니다 우리의 스크립트 나 대화 형
명령 DYN 도트 부하.
그런 기능이있다 R에 점 C했다.
>> 이는 인수를 C에서 함수의 첫 번째 이름
당신이 호출 할 것이다.
그리고 모든 매개 변수 그 기능에,
그들은 적절한 순서로해야한다.
이러한 유형을 사용해야합니다 강제 기능 정수로, 같은
이중, 문자와 같은 논리.
그리고 그것을 반환 할 때 다시 그냥 목록,
들의 연관된 어레이 매개 변수 이름과 값
후 기능을 실행하고있다.
>> 점 자극이 있기 때문에,이 경우에 따라서 인수는 N 밖으로, VEC2을 vec1, n은 int로.
우리가 점 자극이 c를 점하기 위해, 함수 이름
우리는 vec1, VEC2, 형 강제 변환, 전화하는거야.
두 벡터의 길이, 난 그냥 vec1 임의로 선택했다.
그것은의 말을 더 강력한 것 vec1의 정수 분의 길이, 길이 VEC2.
그럼 그냥 더블 제로로, 우리가 정말하지 않기 때문에
로 전환하든 상관 매개 변수에서 우리가이기 때문에
를 설정하면 어쨌든 제로합니다.
>> 그리고 결과가 될거야 기본적으로 큰 연관 배열
vec1는 VEC2이 무엇이든 무엇이든이다.
그러나 우리는 관심 밖으로, 그래서 우리는 그를 얻을 수 있습니다.
이것은, 다시 매우 장난감 예이다 외부 함수 인터페이스.
그러나 당신은 점을 계산해야하는 경우 루프에서 대규모 벡터의 제품,
또는 당신은 할 필요가있는 경우 루프에서 뭔가 다른,
당신이 R에 의존하지 않으려는, 이는 오버 헤드의 비트를 가지고있다
그것으로 내장이 유용 할 수 있습니다.
>> 다시, 이것은 보통 아니다 R.에 입문 주제
그것은 아주 잘 설명 아니에요.
난 그냥 있기 때문에 그것을 포함하고있어 나는 과거에 유용하다고.
그래서, 나쁜 관행.
나는이 있다고 언급 함수에서 루프.
일반적으로 당신은에서하지 말아야 언어, 사용하지.
R은 반복을 구현하는 방법에 따라 내부적으로는 속도가 느려질 수 있습니다.
그들은 단지도 예쁘게.
>> R은 매우, 매우 잘 벡터를 처리 자주 당신은 그것을 사용할 필요가 없습니다.
그럼 당신은 일반적으로 수 종종 벡터를 대체
높은 불리는이 기능 주문 기능,지도, 감소
찾기, 또는 필터링합니다.
난 그냥주지 어떤이의 예는 않습니다.
지도 고차 함수이다 때문에 이 인수로 기능을합니다.
당신이 그것을 기능을 제공 할 수 있도록, 당신은 그것을 배열을 제공 할 수 있습니다,
그리고 함수를 적용 배열의 모든 요소에
새로운 배열을 돌려줍니다.
기본적으로 줄, 줄 그것은 배열, 당신은 그것을 제공
두 개의 인수를 사용하는 함수입니다.
먼저, 함수를 적용 일부 스타터 값을 첫 번째 인수.
다음 두 번째에 그 결과로.
그리고 세 번째에 그 결과로, 다음 네 번째에 그 결과로.
이 마지막에 도달 할 때 그리고 돌아갑니다.
그래서 예를 들어, 당신이 원하는 경우 모든 요소들의 합을 계산
배열, 당신이 전화하는 것보다 감소 [들림]로하면 추가 감소
기능, FUNC 등 A, B는 플러스 B를 반환합니다.
그리고 0의 값을 시작합니다.
>> 이 모든, 당신이 그들을 찾을 수 있습니다 R 문서에 설명 된,
어떤 교과서에의 함수형 프로그래밍.
이 클래스도 있습니다 호출되는 함수는 기능을 적용,
어느 나는 그들이있어 설마 또 ... 하드 비트, 설명하기
하지만 당신이 보면 [들림] 내가 처음에 인용 된 것을 경고를,
그는 꽤 잘 그들을 설명 R 프로그래밍에 대한 자신의 부록.
관행에 대한 더 많은, 벡터에 추가.
네?
나는 그것을 수정해야합니다 생각합니다.
그 첫 번째 줄에서, VEC 화살표, 그 화살표가 안됩니다.
당신은 벡터에 할당 할 수있는 다시,에 의해 자사의 길이 플러스 1을
그리고 그 일부에 값을 할당.
즉, 벡터를 확장하거나 것 VEC 등호의 C, VEC newValue에 작업을 수행 할 수 있습니다.
또, 경우에 C를 사용 벡터로 하나의 인수,
생성 된 계층 구조는 평평하게됩니다.
그래서 당신은 벡터를 얻을 수 있습니다 그 1 확장입니다.
이 작업을 수행하지 마십시오.
>> 이유를 문제는이입니다하지 말아야.
는 벡터를 할당 할 때, 그것을 그것을 메모리의 특정 덩어리를 제공합니다.
당신이 그 벡터의 크기를 증가 시키면, 이 벡터를 재 할당 할 수있다
다른 곳.
그리고 재 할당은 매우 비싸다.
나는 방법의 세부 사항에 가지 않을 것이다 메모리 할당 자 구현된다
오퍼레이팅 시스템 레벨에서, 그러나 이는 시간이 많이 소요
메모리의 새로운 덩어리를 찾을 수 있습니다.
또한, 당신이 있다면 재 할당 제비와 제비
의 점진적 큰 덩어리, 당신은 결국
라는 뭔가 메모리 조각화,
여기서 사용 가능한 메모리가 작은 블록을 많이로 분할
보기의 메모리 할당 자 포인트.
그리고 그것은 힘들어 도착 다른 것들에 대한 기억을 찾을 수 있습니다.
그래서 그 대신,이 작업을 수행해야하는 경우, 경우 하나의 끝에서 벡터를 성장해야
다음으로, 여기에 첨부하는 대신 지속적으로, 당신은 그것을 미리 할당해야합니다.
VEC 화살표, 벡터 길이 1000, 또는 무엇이든 동일합니다.
>> 그리고 당신은 할당 할 수 있습니다 벡터의 값 하나에
당신이 한 번 할당 한 후 시간.
나는 다시, 이것으로 나의 여름 작업을 실행 때 내가 NRA 차이를 기록했다
방정식 솔버.
숫자 기호하지 않습니다.
아이디어는 일단이다 솔루션에 대한 하나의 값,
당신은 다음을 계산하는 것을 사용한다.
순진 그래서 내 자연 기울기 확인 말을했다
그래서 벡터를 시작합니다 그 상당한 값입니다.
그 다음 값에서 계산 즉, 내 솔루션 벡터에 간다
그를 추가합니다.
>> 뭔가를 만들고, 그 추가합니다.
그것은 매우, 매우 느리게 갔다.
그리고이 실현되면 나는 내 시스템 변경
이 벡터에 추가에서 10,000 100,000 번 등,
다만하는 벡터를 미리 할당 그냥 그 실행.
나는 1,000 명 이상의 배 속도 업을 얻었다.
그래서 이것은 매우 일반적입니다 R 프로그래밍을위한 함정.
당신은 벡터를 구축해야하는 경우 조각으로 조각, 그것을 미리 할당합니다.
>> 이 up-- 또 다른 일반적인 여행은 나의 마지막 슬라이드, 오류 처리하지 worry-- 않습니다.
R, 솔직한로하지 않습니다 정말 잘 이렇게.
많이있다 최대자를 수있는 문제.
예를 들어, 배열을 얻는 경우 또는 기능 중 벡터
당신은 하나의 것으로 생각하는 값은 그 반대에서 온, 또는합니다,
당신은 함수에 그 전달이 당신은 단일 값을 기대하고 쓴,
즉, 문제가 될 수있다.
>> 특정 기능 마찬가지로, 말, null를 돌려줍니다
에서 읽기 목록에 존재하지 않는 키.
그러나 널 (Null)는 C처럼되지 않습니다 위치를 읽으려고하면
오래된 포인터에서, [들림] 포인터를 null로, 그냥 오류를 SEG
당신은 당신의 디버거에있을 경우 당신이 어디에 정확하게 알려줍니다.
기능을 do-- 것 대신, 널 (null) 예측할 수없는 일을 할 것입니다
그들은 손으로 널 (null)이라면.
당신이 최대 널 (null)를 건네하는 경우처럼, 그것은 당신에게 음의 무한대를 줄 것이다.
그리고, 그래.
그리고이 일이 나에게 나는 가지고 한 번 할 때
필드의 무리를 변경 내 목록 구조
일단 다른 곳을 변경하지 않고 때 나는 그들로부터 읽고 있었다.
그리고 나는 임의의 모든 종류를 가지고 무한대의 결과는 자르기
나는 아무 생각 그들은 온없는 경우.
그리고 불행하게도, 거기에 실제 R 엄격 모드 없음
여기서 당신이 뭔가하면 말할 수있다 이 오류가있을 수 있습니다처럼 보이는
나는 할 수 있도록 그냥 중지 훈련과 그 문제를 해결.
그러나 무언가가 정지하지 않는 경우는했다.
이것은 C의 주장과 동일 당신은 그것에 대해 이야기 한 경우.
전 C가 주장 생각하지 않습니다 강의 주제는,
하지만 섹션 리더 그것을 통해 갈 수 있습니다.
기본적으로 모든 소요하지 않을 경우 정지 술어, 그래서 어떤 문이
참 또는 거짓이 될 수 있습니다.
그것이 거짓이라면, 그것은 그 프로그램을 중지합니다.
그것은 당신이 라인을 정확히 알려줍니다 에 있었고, 어떤 상태에 실패했습니다.
>> 그리고이 매우 유용합니다, 예를 들어, 정신 검사, 기능 입력.
당신은 기능이 있다면 당신은, 말하자면, 기대
당신이 나에게 날짜를 제공해야하는 경우, 내가 원하는 날짜는 길이 1 단지 벡터 수
어딘가에 1과 31 사이.
그렇지 않은 경우, 나는 알고있다 뭔가 잘못 사라 졌어요.
그리고 나는이 전에 거기서 멈추지 선택 코드에 미치는 영향에 대한 무작위 노크를 가지고
어렵게 있다고 통해 추적합니다.
그래서 가능 하나 정지에 사용하지 않을 경우.
>> 좋아, 어쨌든.
그래서 끝입니다.
와 주셔서 정말 감사합니다.
나는이에 랭크 아마추어입니다.
그래서 미안 당신이 지루해하는 경우 또는 혼동 또는 무엇을해야합니다.
나는 이메일로 질문을 드리겠습니다 connorharris@college.harvard.edu에서.
이 모두를 위해 또한 간다 이 이후에 거주하거나보고.
또한, 비록 내가 아니에요 TF, 나 또한 매우입니다
비공식적 인 역할을 기꺼이 의 사람에 대한 고문
최종 프로젝트에 R을 사용.
>> 당신은하고 싶은 경우, 다음 당신의 TF 이야기
다음 그래서 나에게 이메일을 보냅니다 난 당신이 작업을하는지 알고
그래서 나는 회의를 설정할 수 있습니다 당신과 함께 시간은 당신이 원하는 경우.
그래서 다시, 대단히 감사합니다.
나는 당신이 그것을 즐길 바랍니다.
>> 청중 : [들림].
>> 코너 해리스 : 물론.
>> 청중 : 프로젝트의 어떤 종류의 CS 학생에 대한 연구를 사용해야합니까?
코너 해리스 : 당신이하지 그래서 만약 순수하게 데이터 마이닝에 뭔가,
예를 들면, 거기 물건이 많이 있습니다
당신은 데이터와 그와 함께 할 수있는 마이닝 및 기계 학습.
당신을위한 R을 사용할 수 있습니다 무언가의 구성 요소입니다.
나는 원래, 예를 제기 당신은 웹 사이트를 작성하는의 경우
당신은 자동 실행하려면 서버의 통계 분석
일정 시간마다 하루에 로그, 그건 뭔가 수 있습니다
그냥 간단히 할 매우 쉽게 당신이 예약 할 수 있습니다 R 스크립트
예를 들어, 매일 밤 실행합니다.
>> 그리고, 확실 해요 어떤 이유가 당신 것입니다
통계 나 그래프 기능을 원하는 자동으로 대신 실행이
의 상호 작용을 할 필요 Excel에서 것들로,
예를 들어, 그 뭔가 당신을 위해 R을 사용할 수 있습니다.
그래서 전 더 이상 질문이 떠나?
아니?
좋아요, 다시, 감사합니다 오는에 대한 아주 많이.