熱線電話:13121318867

登錄
首頁精彩閱讀SAS、R如何手動輸入數據
SAS、R如何手動輸入數據
2017-04-19
收藏

SAS、R如何手動輸入數據

一道簡單的題目,將下面的數據分別手動輸入到SAS和R中,如何實現?

一、SAS

解決方案:

data cust_base_info;

inputcust_no$ name$sex$ is_marriage$birthday:yymmdd10.aum_m_avgods_date:yymmdd10.@@;

format birthday yymmdd10. ods_date yymmdd10.;

cards;

1LiMingMaleTRUE1984052151428.0620170331

2ZhangHongyiFemaleTRUE198201285203.420170331

3WangSimingMaleFALSE19830806214820170331

4ZhangCongMaleTRUE19830225110092.820170331

5LiuYingFemaleTRUE1988092038004.520170331

6MaMingyueFemaleFALSE198910191168020170331

;

run;

結果:

備注:

(1)字符型的變量需要在變量名后加上'$'符,比如:'cust_no$','name$';數值型變量就不需要,比如:'aum_m_avg'。

(2)日期型的變量,比如'birthday',需要加上相應的格式,比如:'birthday:yymmdd10.'和'format birthday yymmdd10.'。

(3)'@@'表示即時輸入時不換行,SAS按照輸入的順序依次讀取數據。

二、R語言

解決方案:

##在R中手動輸入數據

cust_no <- c('1','2','3','4','5','6')

name<-c('LiMing','ZhangHongyi','WangSiming','ZhangCong','LiuYing','MaMingyue')

sex<-c('Male','Female','Male','Male','Female','Female')

is_marriage<-c('True','True','False','True','True','False')

##R語言中日期的默認輸入格式為yyyy-mm-dd

birthday <- c('1984-05-31','1982-01-28','1983-08-06','1983-02-25','1988-09-20','1989-10-19')

##將日期的類型由字符型轉化為date型

birthday <- as.Date(birthday)

aum_m_avg<- c(51428.06,5203.4,2148,110092.8,38004.5,11680)

##數據處理日期,由字符型轉為date型

ods_date<- as.Date(rep('2017-03-31',6))

cust_base_info<- data.frame(cust_no,name,sex,is_marriage,birthday,aum_m_avg,ods_date)

##查看數據前6行

head(cust_base_info)

結果:

三、小結

手動輸入數據,數值型變量最好處理,字符型變量加些格式,也好處理。難點在于日期的輸入。

1、SAS中,需要在input時在變量后面加上特殊的日期格式,比如'ods_date:yymmdd10.'和'format ods_date yymmdd10.'。

2、R語言中,默認的輸入格式是'yyyy-mm-dd',比如'1984-05-31'。輸入完成后,因為它是字符型變量,需要將它用as.Date()函數轉化為date型,例如birthday <- as.Date(birthday)。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢