2017-03-06 5 views
2

私はこのようなデータフレームを持っています。他のすべての列に対して1つのデータフレーム列をプロットする方法

Heat_map <- c(10, 11, 12, 13, 14) 
city1 <- c(0,1,1,1,0) 
city2 <- c(0,1,0,0,1) 
city3 <- c(0,1,1,0,0) 
city4 <- c(1,1,0,0,0) 

city_df <- cbind(Heat_map, city1, city2, city3, city4) 
city_df <- as.data.frame(city_df) 

私は、列のheat_map、残りである第一の列との関係を示すために、(ggplotやプロットのいずれかの種類)をプロットしようとしています。十分な時間と実験を費やしましたが、同じデータフレームの1つの列に対してすべての列を使用してプロットするのに適した方法を見つけることができませんでした。

+0

'matplot(city_df [1]、city_df [-1]、タイプ= "L"、LTY = 1、PCH = 19)'多分? '?matplot'は、あなたがしたいと言っているものとほぼ同じです。 – thelatemail

答えて

2

これが問題「ワイドロングに」古典である:すなわちそれは都市が1つの(city命名)の列と別の各都市のための値(value)である場合、プロットする方が簡単です。 tidyrパッケージからgatherを使用してこれを行うことができます。

次に、ggplot2facet_wrapまたはfacet_gridのいずれかを使用して、各都市のグラフを作成できます。

library(tidyr) 
library(ggplot2) 

city_df %>% 
    gather(city, value, -Heat_map) %>% 
    ggplot(aes(Heat_map, value)) + geom_point() + facet_wrap(~city) 

結果: enter image description here

関連する問題