次のデータに対してRを使用してヒストグラムをプロットするのに苦労しています。
ip_addr_player_id,event_name,level,time_to_finish,
118.93.180.241, Puzzle Complete, Puzzle 1,33.28 seconds
これは単一行のデータです。プレイヤー数とプレイされたレベル数のヒストグラムをポットする必要があります。散布図、点、線などを正常にプロットできましたが、ヒストグラムはありませんでした。何か提案してください。
on Xaxis: number of levels.
Yaxis: Number of player.
各IPアドレスは一意であり、1つのIPアドレスで複数のレベルを再生できます。サンプル写真を添付しました。
table()は次の仕事をする必要があります:
データの作成:
ips <- sample(seq(100,999), 100, replace = TRUE)
levels <- sample(LETTERS, 100, replace = TRUE)
data <- data.frame(ips, levels)
今数えている:
unique.levels <- sort(unique(data$levels))
count <- table(data$levels)
count.df <- data.frame(unique.levels, count)
今プロット:
plot <- ggplot(count.df, aes(unique.levels, Freq, fill=unique.levels))
plot + geom_bar(stat="identity") +
labs(title="Level Count",
subtitle="count for every lvl played",
y="Count", x="Levels") +
theme(legend.position="none")
Aes()でdata $ Levelsを使用すると、geom_bar()だけでレベルがカウントされることはわかっていますが、count.dfにはその情報が含まれているため、他の場所で使用できます。
お役に立てれば
library(ggplot2)
df <- data.frame(ip_addr_player_id='118.93.180.241',
event_name='Puzzle Complete',
level='Puzzle 1',
time_to_finish='33.28 seconds')
df$num_levels <- strsplit(var,split =' ')[[1]][-1]
ggplot(df) +geom_bar(aes(num_levels)) +labs(x="Num Levels",y="Num Players")