【发布时间】:2018-09-14 10:28:37
【问题描述】:
当我尝试运行以下代码时出现错误:
value <- as.matrix(wsu.wide[, c(4, 3, 2)])
[.data.frame(wsu.wide, , c(4, 3, 2)) 中的错误:未定义的列 已选中
我如何获得这一行的工作?这是转播我的数据的一部分。
这是完整的代码:
library(readxl)
library(reshape2)
Store_and_Regional_Sales_Database <- read_excel("~/Downloads/Data_Files/Store and Regional Sales Database.xlsx", skip = 2)
store <- Store_and_Regional_Sales_Database
freq <- table(store$`Sales Region`)
freq
rel.freq <- freq / nrow(store)
rel.freq
rel.freq.scaled <- rel.freq * 100
rel.freq.scaled
labs <- paste(names(rel.freq.scaled), "\n", "(", rel.freq.scaled, "%", ")", sep = "")
pie(rel.freq.scaled, labels = labs, main = "Pie Chart of Sales Region")
monitor <- store[which(store$`Item Description` == '24" Monitor'),]
wsu <- as.data.frame(monitor[c("Week Ending", "Store No.", "Units Sold")])
wsu.wide <- dcast(wsu, "Store No." ~ "Week Ending", value.var = "Units Sold")
value <- as.matrix(wsu.wide[, c(4, 3, 2)])
谢谢。
编辑:
这是我的名为“监视器”的表:
当我创建这个wsu <- as.data.frame(monitor[c("Week Ending", "Store No.", "Units Sold")]) 时,我创建了另一个向量,其中只有变量“Week Ending”、“Store No.”。和“销售单位”。
但是,当我编写 wsu.wide 代码时,我得到的输出只是:
当我请求dcast 我的数据时,为什么我只得到这个小表?
在此之后,我不明白出了什么问题。
【问题讨论】:
-
你好,Aleksa。欢迎来到 Stackoverflow。请阅读How to Create a Minimal, Complete, and Verifiable Example 并更新您的帖子。
-
该错误清楚地表明您正在选择未定义的列,即这些列不存在。再次检查您的语法。
-
很难说,但看起来这一行缺少逗号 wsu
-
@aleksa,最好不要在你的帖子中放图片,因为这是不鼓励的。但是把
dput(head(monitor, 17))函数的结果放上去。