Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 具有多列的ddply是';行不通_R_Plyr - Fatal编程技术网

R 具有多列的ddply是';行不通

R 具有多列的ddply是';行不通,r,plyr,R,Plyr,以下代码起作用: tdata <- read.table(filename, header=T, colClasses=c(rep("character", 6), rep("numeric", 3))) names(tdata) <- c("Date", "City", "Key", "Number", "Count") indata <- transform(tdata, Date = as.Date(Date), Sum = Number*Count) dd <-

以下代码起作用:

tdata <- read.table(filename, header=T, colClasses=c(rep("character", 6), rep("numeric", 3)))
names(tdata) <- c("Date", "City", "Key", "Number", "Count")
indata <- transform(tdata, Date = as.Date(Date), Sum = Number*Count)
dd <- ddply(indata, .(paste(Key, substr(City,1,3), sep=","), summarize, total=sum(Sum))
但以下几点:

tdata <- read.table(filename, header=T, colClasses=c(rep("character", 6), rep("numeric", 3)))
names(tdata) <- c("Date", "City", "Key", "Number", "Count")
indata <- transform(tdata, Date = as.Date(Date), Sum = Number*Count)
dd <- ddply(indata, .(paste(Key, City, sep=","), summarize, total=sum(Sum))

在两个不同的行中,添加substr的特殊之处是什么?“-”是否导致了两行而不是一行的问题?

您确定这不仅仅是输出宽度的问题吗?因为每行有一个1,这对我来说意味着它们实际上属于同一行,只是打印在不同的行上。你所说的输出宽度是什么意思?你的意思是这一行tdata也许其他人可以,但如果没有一个可复制的例子,我想我猜不出有什么错。@nevermind no我是指你的R会话选项“宽度”。尝试运行选项(宽度=138L),然后打印出第二次通话的结果。我把宽度选项放在哪里?
tdata <- read.table(filename, header=T, colClasses=c(rep("character", 6), rep("numeric", 3)))
names(tdata) <- c("Date", "City", "Key", "Number", "Count")
indata <- transform(tdata, Date = as.Date(Date), Sum = Number*Count)
dd <- ddply(indata, .(paste(Key, City, sep=","), summarize, total=sum(Sum))
1 KEY1,NEW-YORK
1 3456