小编Bra*_*sen的帖子

使用带条件的OR条件在R中进行子集

我有一个包含大约40列的数据框,第二列,data [2]包含其余行数据描述的公司名称.但是,这些公司的名称根据年份的不同而不同(2009年的数据为09年,2010年没有).

我希望能够对数据进行子集化,以便我可以同时使用这两年.这是我正在尝试做的一个例子......

subset(data, data[2] == "Company Name 09" | "Company Name", drop = T) 
Run Code Online (Sandbox Code Playgroud)

基本上,我在子集函数中使用OR运算符时遇到了困难.

但是,我尝试了其他替代方案:

subset(data, data[[2]] == grep("Company Name", data[[2]]))
Run Code Online (Sandbox Code Playgroud)

也许使用字符串函数有一种更简单的方法吗?

任何想法都会被贬低.

r subset

10
推荐指数
2
解决办法
4万
查看次数

ggplot和R:随时间变化的两个变量

我想知道如何使它在下面的示例数据集中的x和y在水平轴上的每个框架元素的垂直轴上绘制.我如何使用ggplot2执行此操作?

x,y =变量,frame = YYYYMM

示例数据:

df <- structure(list(x = c(0.000892333625290767, 0.0161153931761482, 
0.0188150880795816, 0.0268699106638318, 0.018657330651898, 0.0101065034206662, 
0.00154410447630379), y = c(1.35172948829027, 0.59654026447333, 
0.685835030118683, 0.741545898152761, 1.09653338596292, 0.119448208345102, 
0.104092642854814), frame = c(200912, 201001, 201002, 201003, 
201004, 201005, 201006)), .Names = c("x", "y", "frame"), row.names = c("1", 
"2", "3", "4", "5", "6", "7"), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

我已经能够在一行中绘制一个,但似乎它没有将我的框架识别为分类(不是它,我也不知道如何将其更改为此类).

p <- ggplot(df, aes(x=frame, y=x))
p + geom_line()
Run Code Online (Sandbox Code Playgroud)

r ggplot2

10
推荐指数
2
解决办法
2万
查看次数

ggplot2:更改图例的布局

现在,默认情况下的图例看起来像这样:

Legend Title
x-1 
y-2 
z-3 
Run Code Online (Sandbox Code Playgroud)

但有可能让它看起来像这样吗?

Legend Title 
x-1 y-2 z-3
Run Code Online (Sandbox Code Playgroud)

r legend ggplot2

10
推荐指数
2
解决办法
6118
查看次数

推荐13种或更多类别的比例颜色

ggplot2的默认比例为13或更多颜色不提供高度的视觉差异.此外,最长的酿酒商秤最终分为12类(Set3).

你能推荐一个对13个或更多类别在视觉上有用的色标吗?

可重复的例子:

dat <- data.frame(value=rnorm(100),
category=sample(letters[1:13],100,replace=T),
other=sample(letters[1:5],100,replace=T))

# Default Scale
ggplot(dat, aes(other,value,color=category)) + 
geom_point(size=6) + 
coord_flip()

# Brewer Scale // notice the blank at the end!
ggplot(dat, aes(other,value,color=category)) + 
geom_point(size=6) + 
coord_flip() + 
scale_color_brewer(palette="Set3")
Run Code Online (Sandbox Code Playgroud)

注意:在我的情况下,facetting不是一个选项(客户端不喜欢它,去图)

r colors ggplot2

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

带有强制转换的自动列名标签

使用reshape :: cast时,有没有办法设置结果列的名称?

例:

library(reshape)
data(mtcars)
cast(mtcars, cyl + hp ~ .,mean)

   cyl  hp (all)
1    4  52     2
2    4  62     2
3    4  65     1
4    4  66     1
5    4  91     2
Run Code Online (Sandbox Code Playgroud)

而不是(all),我希望能够在强制转换的调用中设置名称.这可能吗?

我知道,我知道,这就好像打字colnames(x)[3] <- "Foo"太难了,但如果你经常这样做,那就太费时了!

r reshape

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

挑战:用R复制许多眼睛词树

许多眼睛,一个IBM数据可视化实验,提供了一种非常有趣的可视化连续文本的方法(如演讲或短语).从本质上讲,您选择一个起始单词,它会为该单词后面的所有句子创建类似于树形图或树的内容,通常由所选单词后面的动词分解.

在此输入图像描述

这里有一个例子:http://www-958.ibm.com/software/data/cognos/manyeyes/page/Word_Tree.html

虽然有一些交互式组件,但我只关心图形本身.

在R中有现成的方法吗?如果没有,你能想到一种方法吗(在R中)?我对他们如何分解它感到茫然.我会为代表解决问题,但也会接受一个经过深思熟虑的想法.

r

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

依赖包"package_name"不可用

在尝试在RStudio中构建和重新加载时,我遇到了一个奇怪的错误.在我的描述文件中,我已经包含了我在组织内构建和维护的包.它不在CRAN上.基本上,当我更新DESCRIPTION文件(取决于:...)时,我收到此错误:

==> devtools::document(roclets=c('rd', 'collate', 'namespace', 'vignette'))

Updating fczstudy documentation
Loading fczstudy
Error in (function (dep_name, dep_ver = NA, dep_compare = NA)  : 
  Dependency package surv3 not available.
Calls: suppressPackageStartupMessages ... <Anonymous> -> load_all -> load_depends -> mapply -> <Anonymous>
Execution halted
Run Code Online (Sandbox Code Playgroud)

在这种情况下,surv3我是在我的组织内维护的一个包 - 我可以确认它确实已安装,因为我正在使用它.

CRAN的其他软件包似乎没有这种情况.它刚刚开始几天前.它不允许我导入我的包(surv3)

我真的不确定如何调试这个.

traceback() 在ctrl + shift + B之后的控制台中什么都不返回

这是我的sessionInfo():

R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United …
Run Code Online (Sandbox Code Playgroud)

r devtools

9
推荐指数
2
解决办法
3926
查看次数

write.csv()一个不等大小的data.frames列表

我想将一个data.frame()对象列表输出到一个csv文件,这样我就可以对它进行演示了.我发现它回复了一个错误:

In write.csv(tmp[i], file = "Output.csv", append = T) :
  attempt to set 'append' ignored
Run Code Online (Sandbox Code Playgroud)

我已将输出保存到列表中(所有这些都可以强制转换为df),这是一个示例:

outputs <- list() 
outputs$fivenum <- fivenum(rnorm(100))
outputs$summary <- as.data.frame(as.vector(summary(rnorm(100))))

tmp <- lapply(outputs, as.data.frame)

write.csv(tmp, file="Output.csv",append=T)
Run Code Online (Sandbox Code Playgroud)

每个追加操作都必须具有相同数量的列吗?

r

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

如何仅从包中加载特定功能

我有一个使用gdata包中的trim()函数的包.我实际上没有使用包中的任何其他东西(正如你们有些人可能已经看到的)它覆盖了我需要的基本R的一些功能.

有没有办法只加载一个函数而不是整个包?

r

8
推荐指数
1
解决办法
2349
查看次数

使用带有knitr的内联代码包含预定义变量

如何使用带有knitr的内联表达式包含变量.

例如,这可以按预期工作:

A random number from the normal distribution `r rnorm(1)`.
Run Code Online (Sandbox Code Playgroud)

但是如果要打印预定义的字符串/数字:

```{r}
company <- "ABC Co"
```

Some text about `r company`
Run Code Online (Sandbox Code Playgroud)

编织后没有印刷品.有什么东西需要包装


根据请求更新会话信息:

R version 3.0.0 (2013-04-03)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C               LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8    
 [5] LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8    LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] slidify_0.3.3 knitr_1.2    

loaded via a namespace (and not attached):
[1] digest_0.6.3   evaluate_0.4.3 formatR_0.7    markdown_0.5.4 stringr_0.6.2 …
Run Code Online (Sandbox Code Playgroud)

r knitr

8
推荐指数
1
解决办法
4323
查看次数

标签 统计

r ×10

ggplot2 ×3

colors ×1

devtools ×1

knitr ×1

legend ×1

reshape ×1

subset ×1