2012-03-29 3 views
-2

데이터 세트에 R과 함께 여러 개의 라인 플롯을 만들려고합니다. 데이터 세트에는 7 개의 식품 그룹과 칼로리가 매일 그룹과 관련되어 소비됩니다. 또한, 38 년 (1970 년에서 2008 년까지)의 데이터 집합이 있고이 데이터 집합을 사용하여 R에 다중 선 그림을 만들려고합니다. 몇 시간 동안 노력했지만 R을 얻을 수는 없습니다. 데이터 세트 내의 변수를 인식합니다.R에서 여러 줄 ggplot에 대해 Excel 데이터 집합을 사용하는 방법?

단순히 내가 아는 것보다 더 많이 알고 있기 때문에 "연구 노력이 없다"고 대답하지 마시기 바랍니다. 그래서 내가 여기에있다. 나는 지난 7 일 동안 매일 6 시간 씩 r 편을 읽고이 기능을 작동 시키려고 노력했지만, 운이 없었습니다.

데이터 세트는 http://www.filedropper.com/calories입니다. 또 2 시간 동안 연구를 한 후에도 R이 파일을 읽는 것 이상으로 파일을 사용하도록 할 수는 없습니다. 파일을 여전히 사용중인 것처럼 취급하지 않으며 R이 열 이름을 변수 이름으로 연결하지 않습니다. 그래서 내 질문은이 데이터 세트를 사용하여 R에 다중 선 그림을 만드는 방법입니다. 나는 분명히 R에 대한 나의 현재의 지식에서 그것을 할 수 없다.

+0

이 더 문제는 여기없고, 거의 확실하게 폐쇄 얻을 것이다. 좋은 질문을하는 방법은 http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example을 읽고 다시 시도하십시오. 최소한, 어떤 데이터를 게시하거나'iris' 데이터를 사용하여'ggplot'을 만들고 어디서 붙어 있는지 말해주세요. – Andrie

+0

데이터를 공유하면 응답 할 확률이 높아집니다. 정말로 질문이 아니더라도. –

+1

코드를 보여줍니다. 파일을 어떻게 읽나요? 그런 다음 질문에'str (your.variable)'의 결과를 넣으십시오. 그리고 우리가 어딘가에서 데이터를 가져 오기를 원한다면 적어도 PDF 파일을 설치하기를 원하는 알려지지 않은 웹 사이트에 알려지지 않은 파일 형식이 아닌 텍스트 파일에 데이터를 넣으십시오. 현재 귀하가하려는 일만 추측 할 수 있으므로 귀하를 도울 수는 없습니다. 이전에 게시 한 링크를 읽으십시오. 귀하의 모범을 재현 가능하게 만들면 우리가 도울 수 있습니다. – Andrie

답변

3

이 파일은 다음과 같이 시작 이후 :

"Average daily per capita calories from the U.S. food availability, adjusted for spoilage and other waste",,,,,, 
,,,,,, 
"Meat, eggs, and nuts",Dairy,Fruit,Vegetables,Flour and cereal products,Added fats and oils and dairy fats,Caloric sweeteners 
,,,,,, 
,,,,,, 
,,,,,, 
,,,,,, 
463,267,70,125,432,411,402 
472,268,72,123,426,405,405 
470,265,67,122,421,416,410 

당신이 몇 줄을 제거하거나 read.csvskip 인수를 사용할 수 있습니다.

d <- read.csv("Calories.csv", skip=2) 
matplot(d, type="l", lty=1, lwd=3, las=1) 
legend("topleft", names(d), col=1:ncol(d), lty=1, lwd=3) 
+0

+1 노력과 좋은 대답. – Andrie

2

귀하의 질문에 ggplot2 솔루션이 필요합니다. 여기있어.

먼저 ggplot2 패키지를로드하십시오. 먼저 설치해야 할 수도 있습니다.

# you may need to install the packages 
# install.packages('ggplot2') 
library(ggplot2) 

그런 다음 데이터 프레임 (Vincent Zoonekynd에서 제공 한 솔루션)을 가져옵니다. 또한 ggplot2에서 예상하는 긴 형식으로 변환해야합니다. 이것을하기 위해, 나는 변형 된 패키지의 melt() 함수를 사용할 것이다.

d <- read.csv("Calories.csv", skip=2) 
str(d) 

# convert from wide to long format 
# add a row index, required for plotting 
d$x <- 1:nrow(d) 
# melt is from the reshape library 
# install.packages('reshape') 
library(reshape) 
md <- melt(d, id='x') 
str(md) 

그리고 지금, 플롯 순간

ggplot(data=md, aes(x=x, y=value, colour=variable)) + 
    geom_path() 
관련 문제