윤곽선 형태로 변수의 함수로 비닝 된 데이터를 플롯하려고합니다. 그러나 R이 데이터 구조를 처리하는 방식에 여전히 익숙하지 않아서 고생하고 있습니다. 내 데이터를 플로팅 할 준비가 된 형태로 강요합니다.윤곽 그리기에 적합한 데이터 조작
x <- as.numeric(c(-2,-1,0,1,2,3,4,5,6,7,8,10,15,20,30))
y <- head(logspace(-3.6,-1.7,15),-1) + diff(logspace(-3.6,-1.7,15))
z <- list(c(seq.int(30,1,length.out=15)),c(seq.int(35,1,length.out=15)),c(seq.int(40,1,length.out=15)),c(seq.int(45,1,length.out=15)),c(seq.int(50,1,length.out=15)),c(seq.int(60,1,length.out=15)),c(seq.int(55,1,length.out=15)),c(seq.int(50,1,length.out=15)),c(seq.int(40,1,length.out=15)),c(seq.int(30,1,length.out=15)),c(seq.int(20,1,length.out=15)),c(seq.int(10,1,length.out=15)),c(seq.int(10,1,length.out=15)),c(seq.int(10,1,length.out=15)))
names(z) <- paste("x", 1:14, sep = "")
따라서 당신은 것입니다 :
X1 Z1 Y1
X2 Z2 Y2
X3 Z3 Y3
X4 Z4 Y4
Xn Zn Yn
은 현재 내가 형태로 데이터가 : 나는 (격자를 사용하는 경우, 예를 들어) 형태의 dataframe 것 내 데이터를 가지고 간단한 형식을 의심 두 개의 숫자 데이터 형식 (x 및 y 차원)과 y와 같은 길이의 목록에있는 z 값을 참조하십시오. 목록에는 x와 동일한 길이의 숫자 데이터 양식이 들어 있습니다. 예를 들면 다음과 같습니다 (? 아마도 "다음 mydata"라는 dataframe에)
length(x)
[1] 15
length(y)
[1] 14
length(z)
[1] 14
length(z$x1)
[1] 15
그래서 내 아주 기본적인 질문은 형태에 적합한이 데이터를 강요하는 가장 좋은 방법이 될 것 인 것이다 그 명령과 같은 :
require(lattice)
contourplot(z ~ x * y, data = mydata)
은 플롯을 생성합니까?
'z'값이 충분하지 않습니다. 각 격자 위치에 대한 값이 필요하므로 'length (x) * length (y)'값이 필요합니다. 올바른 데이터 값을 얻으면,'contourplot'을위한'formula' 메쏘드를 사용하거나 행렬에'z'를 만들고'row.values'와'column.values'를'x'로 정의하고 'y'. –
안녕하세요 carl, 주석 주셔서 감사하지만 아직도 내 눈을 오히려 혼란 스러워요 차원은 올바른지 - 나는 15 x 값, 14 y 값을 가지고 z는 14 목록의 각 15 값이 있습니다. 어떤 점에서 저는 이것을 손으로 그릴 수 있습니다. 그리하여 각 그리드 위치에 어떤 가치가 없는가? – user1912925
죄송합니다. 'z'가 무엇을 포함하고 있는지 명확하지 않았습니다. 나는'newz <-matrix (unlist (z), nrow = length (y))'(또는'nrow = length (x)')가'newz'라는 행렬을 줄 것이라고 믿는다. y 값. –