小编Mat*_*ert的帖子

facet_grid问题:输入字符串1在此语言环境中无效?

我正在尝试使用以下代码创建构面网格

p <- ggplot(melted,aes(factor(country))) + geom_bar() +opts(axis.text.x =   theme_text(angle = 90,hjust = 1)) 

p + facet_grid(. ~ provider)
Run Code Online (Sandbox Code Playgroud)

但我总是得到以下错误:

sub("^ [^:] + :( [^ \n] +)\n [0-9] + :(.*)$","\ 1\2",expr)出错:输入字符串1为在此语言环境中无效

我不知道我做错了什么.也试图考虑我的方面,这也不起作用.

Thx提前!

r ggplot2

11
推荐指数
1
解决办法
1万
查看次数

如何从事实上创造因素?

当使用factalal执行因子分析时,通常的结果是一些加载表加上其他几个信息.有没有直接的方法来使用这些加载来创建因子的矩阵/数据框架?例如,稍后在回归分析中使用它们.

编辑:这样做的目的是获取后续建模的变量.我只知道因子分数 - 但欢迎提出/指出其他术语:)

EDIT2:Joris Meys的回答基本上就是我的要求.尽管它将我的问题转移到可能更适合statsoverflow的方向,但我现在将它保留在这里,因为正确的人群正在讨论解决方案:

基于回归的分数的好处是什么?产品(ML)的结果与因素高度相关......老实说,我想知道为什么差异在我的情况下很大?

 fa$scores # the correct solution
 fac <- m1 %*% loadings(fa) # the answer on your question
 diag(cor(fac,fa$scores))
 #returns:
Factor1   Factor2   Factor3 
0.8309343 0.8272019 0.8070837 
Run Code Online (Sandbox Code Playgroud)

statistics r

11
推荐指数
1
解决办法
6969
查看次数

从另一个data.frame添加一行到qplot

是否可以在已有的情节中添加一条线(例如额外的时间序列)?我知道如何添加水平或垂直线,但我如何从其他data.frames添加?

 q_myplot<-qplot(datefield,myvalue,data=mydf,geom=c("line"),colour=category) +opts(axis.title.x = theme_blank()) + scale_x_date(major="2 years")
Run Code Online (Sandbox Code Playgroud)

是我的基本情节,显示按类别分组的三个不同时间序列.有没有办法在图中添加另一条线,例如使用图层?当然我可以使用另一个类别将这些额外的数据添加到mydf,但我想知道那里是否有更好的想法.

r ggplot2

11
推荐指数
1
解决办法
3万
查看次数

处理与R交互的数据库中的字段类型

我使用RMySQL和MySQL数据库来存储我的数据集.有时数据会被修改,或者我也会将结果存储回数据库.简而言之,在我的用例中,R和数据库之间存在相当多的交互.

大部分时间我使用的便利功能,如dbWriteTabledbReadTable写入和读取我的数据.不幸的是,这些只是完全忽略了R数据类型和MySQL字段类型.我的意思是我希望MySQL日期字段最终在一个DatePOSIX类中.另一种方法我认为这些R类存储为一个有点对应的MySQL字段类型.这意味着日期不应该是角色 - 我不希望在这里区分浮动和双打......

我也尝试过使用dbGetQuery- 那里有相同的结果.在阅读本手册时是否有一些我完全错过的内容,或者在这些软件包中是否完全不可能?一个不错的工作会怎样?

编辑:@mdsummer我试图在文档中找到更多内容,但只发现了这些令人失望的行:`MySQL表作为data.frames读入R,但没有将字符或逻辑数据强制转换为因子.类似地,在导出data.frames时,因子被导出为字符向量.

整数列通常作为R整数向量导入,但BIGINT或UNSIGNED INTEGER等情况除外,它们被强制转换为R的双精度向量以避免截断(当前R的整数是带符号的32位数).

时间变量作为字符数据导入/导出,因此您需要将这些变量转换为您喜欢的日期/时间表示.

types r rmysql

10
推荐指数
1
解决办法
4022
查看次数

在ggplot标题中更改行间距?

如果我使用\n,labs(title="whatever \n comes after this")我最终会在线之间留出相当大的空间.有没有办法影响它?(我的意思是除了标题本身的字体大小).

r ggplot2

10
推荐指数
1
解决办法
1789
查看次数

在R中用print.xtable设置数字行吗?

我得到了一些报告,其中包含一些包含比例和绝对值的表格.现在我想显示包含digits=2精度比例的行,而绝对值只显示digits=0.我知道xtable 使用这样的调用可以开箱即用

xtable(tableWith3Cols,digits=c(0,0,2,2))
Run Code Online (Sandbox Code Playgroud)

但有没有办法按行进行同样的事情?

编辑:这是一个可重复的例子

require(xtable)
df <- data.frame(col1=rnorm(10),col2=runif(10,1,3))
xtable(df,digits=c(0,5,0))
Run Code Online (Sandbox Code Playgroud)

回声

% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Fri Jan 18 18:58:47 2013
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
\hline
& col1 & col2 \\ 
\hline
1 & -0.79222 & 3 \\ 
2 & 0.24845 & 2 \\ 
3 & 0.24217 & 2 \\ 
4 & -0.19935 & 2 \\ 
5 & 0.47873 & 2 \\ 
6 & 1.10494 & 2 \\ 
7 …
Run Code Online (Sandbox Code Playgroud)

r rounding xtable knitr

10
推荐指数
1
解决办法
3191
查看次数

将SQL文件放在R包中的位置?

我正在开发一个基于postgreSQL数据库的R包.因此,有些.sql文件包含相应数据库的推荐表结构.

如果我想构建一个包(用于CRAN),我想知道在哪里放这些文件?

r package cran

10
推荐指数
1
解决办法
603
查看次数

麻烦绑定ts对象 - 只允许替换元素?

我想以一种融合类型的数据格式将arima模型的预测输出转换为我原来的ts系列对象.但是我收到以下错误消息,我不明白:

Error in `[<-.ts`(`*tmp*`, ri, value = c(12.2567768232753, -0.0141881223732589,  : 
  only replacement of elements is allowed
Run Code Online (Sandbox Code Playgroud)

这里有一些可重现的代码,以及来自雅虎财经的一些示例数据:

# custom function to extract years from ts object
tsyears = function (ts){

years = as.data.frame(trunc(time(ts)))
return(years)

}

library(quantmod)
sp500 = new.env()

### get some fresh data directly from yahoo finance
getSymbols("^GSPC", env = sp500, src ="yahoo", from = as.Date("1960-01-01"),to =as.Date("2010-09-29") )


GSPC = sp500$GSPC

check what we got (last 6 entries)
tail(GSPC)

#calculate annual returns from all the adjusted closes
annual=annualReturn(GSPC)

model …
Run Code Online (Sandbox Code Playgroud)

r

9
推荐指数
1
解决办法
6598
查看次数

如何将ddply用于不同的.variables?

我使用ddply data.frame按类别汇总一些,如下所示:

# with both group and size being factors / categorical
split.df <- ddply(mydata,.(group,size),summarize,
                  sumGroupSize = sum(someValue))
Run Code Online (Sandbox Code Playgroud)

这很顺利,但我喜欢计算比率,这意味着我需要除以组的总数.如何在同一个ddply电话中计算这样的总数?

假设我想在A组中观察到大小等级为1的观察结果.显然,我必须先计算出1级大小的所有观测值的总和.当然,我可以通过两个ddply呼叫来完成此操作,但使用所有一个呼叫会更舒服.有办法吗?

编辑:我不是故意要求过于具体,但我意识到我在这里打扰了人们.所以这是我的具体问题.事实上,我确实有一个有效的例子,但我不认为它真的很漂亮.此外,它有一个我需要克服的缺点:它无法正确应用.

library(plyr)

# make the dataset more "realistic"
mydata <- warpbreaks
names(mydata) <- c("someValue","group","size")
mydata$category <- c(1,2,3)
mydata$categoryA <- c("A","A","X","X","Z","Z")
# add some NA
mydata$category[c(8,10,19)] <- NA
mydata$categoryA[c(14,1,20)] <- NA


# someValue is summarized !
# note we have a another, varying category hence we need the a parameter
calcShares <- function(a, data) {
# !is.na needs …
Run Code Online (Sandbox Code Playgroud)

r plyr

9
推荐指数
1
解决办法
2918
查看次数

索引data.frames列表 - 如何获取所有第x列?

我有data.frames列表,我想知道是否有一种简单的索引方式来获取所有data.frames的所有第三列.或者所有列都命名为x?说到R:

lapply(names(mylist),function(x) mylist[[x]][,3])
Run Code Online (Sandbox Code Playgroud)

有没有办法通过索引来实现,比如mylist [[]] [,3]?(显然不起作用)

编辑:当你想使用像nlevels这样的函数时,你是如何做到这一点的

  lapply(names(mylist),function(x) nlevels(mylist[[x]][,3]))
Run Code Online (Sandbox Code Playgroud)

鉴于第3列是一个因素.

indexing r

9
推荐指数
1
解决办法
6275
查看次数

标签 统计

r ×10

ggplot2 ×3

cran ×1

indexing ×1

knitr ×1

package ×1

plyr ×1

rmysql ×1

rounding ×1

statistics ×1

types ×1

xtable ×1