English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
R은 통계학 전문 도구로, 데이터를 수동으로 가져오고 내보내는 경우 기능이 의미가 없으므로, R은 주요 테이블 저장 파일 형식(예: CSV, Excel, XML 등)에서 데이터를 대량으로 가져오는 것을 지원합니다.
CSV(Comma-Values, CSV는有时도 문자 구분자로 불리며, 구분 문자는 콤마가 아닐 수도 있습니다)은 매우 인기 있는 테이블 저장 파일 형식으로, 이 형식은 중형 또는 소형 데이터 규모의 데이터를 저장하는 데 적합합니다.
대부분의 소프트웨어가 이 파일 형식을 지원하기 때문에 데이터 저장 및 상호작용에 많이 사용됩니다.
CSV는 텍스트의 본질이며, 파일 형식은 매우 간단합니다: 데이터는 행마다 텍스트로 저장되며, 각 레코드는 구분자로 구분된 필드로 구성되며, 각 레코드는 같은 필드 시퀀스를 가집니다.
다음은 간단한 sites.csv 파일입니다. (테스트 프로그램의 동일한 디렉토리에 저장됩니다):
id,name,url,likes 1,Google,www.google.com,111 2,w3codebox,ko.oldtoolbag.com,222 3,Taobao,www.taobao.com,333
CSV는 컬럼을 콤마로 구분합니다. 데이터에 콤마가 포함되어 있으면, 전체 데이터 블록을 둘러싸는 트윗을 사용해야 합니다。
주의事项:영문자 이외의 문자를 포함한 텍스트를 저장할 때 encoding에 주의해야 합니다. 많은 컴퓨터가 UTF를 일반적으로 사용하기 때문에.-8 encoding을 사용했습니다.-8 저장된 데이터를.
주의事项: CSV 파일 마지막 행은 빈 행을 유지해야 하며, 그렇지 않으면 실행 프로그램에 경고 메시지가 표시됩니다。
Warning message: In read.table(file = file, header = header, sep = sep, quote = quote, : readTableHeader에서 'sites.csv'에서 incomplete final line found
그런 다음 read.csv() 함수를 사용하여 CSV 파일 데이터를 읽을 수 있습니다:
data <- read.csv("sites.csv", encoding="UTF-8) print(data)
encoding 속성을 설정하지 않으면, read.csv 함수는 기본적으로 운영 체제 기본 문자编码로 읽습니다. Windows 중국어판 시스템을 사용하시고 시스템 기본编码을 설정하지 않았다면, 시스템 기본 encoding은 GBK입니다. 따라서 오류를 방지하기 위해 가능한 한 일관된 문자 encoding을 사용하도록 주의하십시오。
위의 코드를 실행한 결과는 다음과 같습니다:
id name url likes 1 1 Google www.google.com 111 2 2 w3codebox ko.oldtoolbag.com 222 3 3 Taobao www.taobao.com 333
read.csv() 함수는 데이터 프레임을 반환하며, 데이터를 통계적으로 처리하는 데 매우 편리합니다. 다음 예제에서는 행 수와 열 수를 확인합니다:
data <- read.csv("sites.csv", encoding="UTF-8) print(is.data.frame(data)) # 데이터 프레임인지 확인 print(ncol(data)) # 열 수 print(nrow(data)) # 행 수
위의 코드를 실행한 결과는 다음과 같습니다:
[1] TRUE [1] 4 [1] 3
다음 통계 데이터 상자에서 likes 필드가 가장 큰 데이터는 다음과 같습니다:
data <- read.csv("sites.csv", encoding="UTF-8) # likes 가 가장 큰 데이터 like <- max(data$likes) print(like)
위의 코드를 실행한 결과는 다음과 같습니다:
[1] 333
우리는 검색 조건도 지정할 수 있습니다. SQL where 문과 유사하게 데이터를 쿼리할 수 있으며, 해당 함수는 subset()。
以下示例查找 likes 为 222 到数据:
data <- read.csv("sites.csv", encoding="UTF-8) # likes 는 222 의 데이터 retval <- subset(data, likes == 222) print(retval)
위의 코드를 실행한 결과는 다음과 같습니다:
id name url likes 2 2 w3codebox ko.oldtoolbag.com 222
注意:条件语句等于使用 ==。
多个条件使用 & 分隔符,以下示例查找 likes 大于 1 name이 w3codebox의 데이터:
data <- read.csv("sites.csv", encoding="UTF-8) # likes가 1 name이 w3codebox의 데이터 retval <- subset(data, likes > 1 & name=="w3codebox) print(retval)
위의 코드를 실행한 결과는 다음과 같습니다:
id name url likes 2 2 w3codebox ko.oldtoolbag.com 222
R 언어는 write.csv() 함수를 사용하여 데이터를 CSV 파일로 저장합니다。
위의 예제를 계속하면, likes가 222 의 데이터를 w에 저장했습니다:3codebox.csv 파일:
data <- read.csv("sites.csv", encoding="UTF-8) # likes 는 222 의 데이터 retval <- subset(data, likes == 222) # 새 파일에 기록 write.csv(retval,"w3codebox.csv") newdata <- read.csv("w3codebox.csv") print(newdata)
위의 코드를 실행한 결과는 다음과 같습니다:
X id name url likes 1 2 2 w3codebox ko.oldtoolbag.com 222
X 데이터 셋 newper에서 X를 통해 매개변수 row.names = FALSE를 사용하여 제거할 수 있습니다:
data <- read.csv("sites.csv", encoding="UTF-8) # likes 는 222 의 데이터 retval <- subset(data, likes == 222) # 새 파일에 기록 write.csv(retval,"w3codebox.csv", row.names = FALSE) newdata <- read.csv("w3codebox.csv") print(newdata)
위의 코드를 실행한 결과는 다음과 같습니다:
id name url likes 1 2 w3codebox ko.oldtoolbag.com 222
실행된 후에, 우리는 w3codebox.csv 파일 생성되었습니다。