この非常に面白いチュートリアル(https://rpubs.com/hrbrmstr/customer-segmentation-r)に従っている間、私は本当に理解していないエラーに出くわしました。クラスタ計算チュートリアル - 広がりに関する問題
「Error:Value column 'n'が入力に存在しません」というメッセージが表示されます。 in Rstudio 1.0.136:
library(readxl)
library(dplyr)
library(tidyr)
library(viridis)
library(ggplot2)
library(ggfortify)
url <- "http://blog.yhathq.com/static/misc/data/WineKMC.xlsx"
fil <- basename(url)
if (!file.exists(fil)) download.file(url, fil)
offers <- read_excel(fil, sheet = 1)
colnames(offers) <- c("offer_id", "campaign", "varietal", "min_qty", "discount", "origin", "past_peak")
head(offers, 12)
transactions <- read_excel(fil, sheet = 2)
colnames(transactions) <- c("customer_name", "offer_id")
transactions$n <- 1
head(transactions)
left_join(offers, transactions, by="offer_id") %>%
count(customer_name, offer_id, wt=n) %>%
spread(offer_id, n) %>%
mutate_each(funs(ifelse(is.na(.), 0, .))) -> dat
最後の行が問題を引き起こす行です。
誰でも知っているだろうか?
一般的に、数年以内に壊れやすいリンクを使用するのではなく、再現可能な例をここに掲載する必要があります。いくつかのガイダンス:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/28481250#28481250もちろん、Rを超えて使用しているツール自体。 'spread'はRのものではありません – Frank
確かに、私の悪い、私は再現可能な例で元の投稿を修正しました – Romain
ありがとう。データ用のブログが必要な場合は、長期的に再現性がありません。おそらくdplyrだけが必要な場合は、これらすべてのパッケージをロードしている場合、最小限ではありません。理想は[mcve]です。とにかく、 'count'ステップが' n'という名前のカラムを作るかどうかを見て、あなた自身でこれをデバッグすることができます。 – Frank