個々のデータポイントを描写するためにレーダー/極性グラフを使用して:私はやって今たい何How to measure the area of a polygon in ggplot2?これは私の前のポストに従っている
はまったく別の散布図のデータポイントとして結果のレーダーチャートを使用することであるまたは多分セーブ後でグラフ上で使用して実際のデータの形を描きます。
私は多くのファイルを持っており、通常は次のようになります。それらは1から多くのcol番号の範囲であり、分数は常に降順形式です。すなわち、#1は常に与えられたファイルに最も貢献します。
myfile
01 0.31707317
02 0.12195122
03 0.09756098
04 0.07317073
05 0.07317073
06 0.07317073
07 0.07317073
08 0.07317073
09 0.04878049
10 0.04878049
ここでは、これらのファイルのそれぞれについてレーダーチャートをプロットし、その周りにグリッドのない形状を取得したいと思います。 ggradarは私が見つけた最も近いものです。
ggradar(as.matrix(t(radar)), group.point.size = 2, grid.line.width = 0, grid.max = 1.0, grid.mid = 0,
grid.min = 0, axis.line.colour = "white", axis.label.size = 0, grid.label.size = 0,
centre.y = 0, background.circle.colour = "white", group.colours = "black", group.line.width = 1)
私はデータポイントとしてこれらの図形を使用する場合今、問題が開始されます。
@brianは親切にコメントし、これにアプローチする方法を示唆しました。これらのコメントに触発さ
R::ggplot2::geom_points: how to swap points with pie charts?
Small ggplot2 plots placed on coordinates on a ggmap
、私は今、ファイル名と一緒に1列としてプロットを保存し、同じパイプラインを使用して新しいファイルを追加し続けることができます。
for (file in file_list){
#eliminate the empty files (they contain only the header)
if (file.size(file) > 420){
# if the merged dataset does exist, append to it
if (exists("dfradar")){
radarfile <-read.table(file, header=TRUE, sep="\t")
radarfile1 <- as.data.frame(as.numeric(radarfile[,3]))
rownames(radarfile1) <- c(1:nrow(radarfile))
dfradar1 <- ggradar(t(radarfile1), group.point.size = 1, grid.line.width = 0, grid.max = 1, grid.mid = 0,
grid.min = 0, axis.line.colour = "white", axis.label.size = 0, grid.label.size = 0,
centre.y = 0, background.circle.colour = "white", group.colours = "black", group.line.width = 0.5) +
theme(legend.position = "none")
dfradar1 <- cbind(substring(file,11), dfradar1)
dfradar <- rbind(dfradar, dfradar1)
}
# if the merged dataset doesn't exist, create it
if (!exists("dfradar")){
radarfile <- read.table(file, header=TRUE, sep="\t")
radarfile1 <- as.data.frame(as.numeric(radarfile[,3]))
rownames(radarfile1) <- c(1:nrow(radarfile))
dfradar <- ggradar(t(radarfile1), group.point.size = 1, grid.line.width = 0, grid.max = 1, grid.mid = 0,
grid.min = 0, axis.line.colour = "white", axis.label.size = 0, grid.label.size = 0,
centre.y = 0, background.circle.colour = "white", group.colours = "black", group.line.width = 0.5) +
theme(legend.position = "none")
dfradar <- cbind(substring(file,11), dfradar)
rm(radarfile)
rm(radarfile1)
}
} }
今、私が芝生を保存したいとき、私はできません。私が取得:
"Error in mutate_impl(.data, dots) : Evaluation error: attempt to apply non-function."
か:
"Error in plot_clone(plot) : attempt to apply non-function"
# merge the df with another df containing all other
# variables that I wanna use in my scatterplot
dfradar_merge <- merge(dfradar, Cases, all=FALSE)
dfradar_merge <- dfradar_merge %>% mutate(radargrobs = list(annotation_custom(ggplotGrob(radarplots)),
xmin = as.numeric(Gender), xmax = as.numeric(Gender)*1.2,
ymin = as.numeric(Age) , ymax = as.numeric(Age)*1.2)))
私はこの部分のストレートを取得し、XMINとYMINとして変数を渡すことができれば、私は私が必要なものを行うことができるはずだと思います。 ..
すべてのアイデアは本当に感謝しています。それは私の頭痛です。