我有一个包含大约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)
也许使用字符串函数有一种更简单的方法吗?
任何想法都会被贬低.
我想知道如何使它在下面的示例数据集中的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) 现在,默认情况下的图例看起来像这样:
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) 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不是一个选项(客户端不喜欢它,去图)
使用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"
太难了,但如果你经常这样做,那就太费时了!
许多眼睛,一个IBM数据可视化实验,提供了一种非常有趣的可视化连续文本的方法(如演讲或短语).从本质上讲,您选择一个起始单词,它会为该单词后面的所有句子创建类似于树形图或树的内容,通常由所选单词后面的动词分解.
这里有一个例子:http://www-958.ibm.com/software/data/cognos/manyeyes/page/Word_Tree.html
虽然有一些交互式组件,但我只关心图形本身.
在R中有现成的方法吗?如果没有,你能想到一种方法吗(在R中)?我对他们如何分解它感到茫然.我会为代表解决问题,但也会接受一个经过深思熟虑的想法.
在尝试在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) 我想将一个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)
每个追加操作都必须具有相同数量的列吗?
我有一个使用gdata包中的trim()函数的包.我实际上没有使用包中的任何其他东西(正如你们有些人可能已经看到的)它覆盖了我需要的基本R的一些功能.
有没有办法只加载一个函数而不是整个包?
如何使用带有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)