2017-04-01 3 views
1

독일 신용 카드 데이터를 사용합시다.데이터 프레임의 각 열의 데이터 형식을 새 데이터 프레임의 새 열에 저장하는 방법

url <- 'https://onlinecourses.science.psu.edu/stat857/sites/onlinecourses.science.psu.edu.stat857/files/german_credit.csv' 
credit <- read.csv(url, header = TRUE, sep = ',') 

나는 단지 한 한 가지 :

CreditNames <- as.data.frame(names(credit)) 
View(CreditNames) 

가 어떻게 새 열로 typeof(credit)를 사용하여 데이터 유형을 저장할 수 있습니다 : 새 dataframe의 컬럼의 이름을 저장?

뭔가 내가 노력하고 있어요 :

for (i in 1:length(GermanCreditCardData)) { 
CreditNames[i] <- as.data.frame(names(credit)[i]) 
} 

그러나이 오류를 던지고있다.

+1

이 상황에서 'for' 루프를 사용할 필요가 없습니다. 아마도'sapply'로 가장 쉬울 것입니다. myTypes <- data.frame (types = sapply (신용, typeof))'. 그냥 벡터 출력을보기 위해'sapply (credit, typeof)'를 실행하십시오. – lmo

답변

1

완전히 이해했다면 다음을 사용할 수 있습니다. 모든 변수에 걸쳐 사프리를 사용하여 루프 오버합니다. R 단자에서? sapply를 확인하십시오. 확실하지 않은 이유는 데이터 구조를 알려주는 str 명령입니다. glimpsedplyr 패키지로 볼 수도 있습니다. 도움이 필요하면 ?str?glimpse입니다. "Imo"에게 제안 된 업데이트를 제공해 주셔서 감사합니다.

url <- 'https://onlinecourses.science.psu.edu/stat857/sites/onlinecourses.science.psu.edu.stat857/files/german_credit.csv' 
credit <- read.csv(url, header = TRUE, sep = ',',stringsAsFactors = F) 
dat <- data.frame(type = sapply(credit,typeof)) 
dat$varname <- rownames(dat) 
rownames(dat) <- NULL 
dat <- dat[,c(2,1)] 
dat 

> dat 
          varname type 
1      Creditability integer 
2     Account.Balance integer 
3   Duration.of.Credit..month. integer 
4 Payment.Status.of.Previous.Credit integer 
5       Purpose integer 
6      Credit.Amount integer 
7    Value.Savings.Stocks integer 
8  Length.of.current.employment integer 
9    Instalment.per.cent integer 
10    Sex...Marital.Status integer 
11      Guarantors integer 
12  Duration.in.Current.address integer 
13  Most.valuable.available.asset integer 
14      Age..years. integer 
15    Concurrent.Credits integer 
16     Type.of.apartment integer 
17  No.of.Credits.at.this.Bank integer 
18      Occupation integer 
19     No.of.dependents integer 
20       Telephone integer 
21     Foreign.Worker integer 
관련 문제