我经常从协作者处获得数据集,这些数据集在数据集中具有不一致的变量/列命名.我的首要任务之一是重命名它们,我想在R内部完全解决这个问题.
as.Given <- c("ICUDays","SexCode","MAX_of_MLD","Age.Group")
underscore_lowercase <- c("icu_days", "sex_code", "max_of_mld","age_group")
camelCase <- c("icuDays", "sexCode", "maxOfMld", "ageGroup")
Run Code Online (Sandbox Code Playgroud)
鉴于有关命名约定不同的意见,并本着什么Python中提出,有哪些途径,从去as.Given到underscore_lowercase和/或camelCase作为R用户指定的方式吗?
编辑: 还在R/regex中找到了这个相关的帖子,特别是@rengis的答案.
我正在阅读Hadley Wickham的R Packages书籍,以制作我的第一个R包并提交我的包以在Windows机器上使用devtools::build_win().正如书中所建议的,我正在尝试消除所有NOTES,以便我有一个平滑的CRAN提交体验.我无法摆脱这个注意,这是我唯一的注意事项(我没有错误或警告):
Version contains large components (0.0.0.9000)
Run Code Online (Sandbox Code Playgroud)
大型组件意味着什么?如何让winbuild摆脱这个注意?
我认为维恩图是比较数据的极有用的方法。问题在于,一旦我开始拥有多个(3个或更多)类,圆圈的大小就不再能够指示重叠的大小。
我想做的是通过重叠的大小而不是类标签的大小为维恩图中的每个字段着色:
例如,当我绘制普通的维恩图时:
require(VennDiagram)
# Make data
oneName <- function() paste(sample(LETTERS,5,replace=TRUE),collapse="")
geneNames <- replicate(1000, oneName())
GroupA <- sample(geneNames, 400, replace=FALSE)
GroupB <- sample(geneNames, 750, replace=FALSE)
GroupC <- sample(geneNames, 250, replace=FALSE)
GroupD <- sample(geneNames, 300, replace=FALSE)
v1 <- venn.diagram(list(A=GroupA, B=GroupB, C=GroupC, D=GroupD), filename=NULL, fill=rainbow(4))
grid.newpage()
grid.draw(v1)
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

最终的维恩图被分为15个单独的字段,每个字段都有自己的颜色和数字。每个单独字段的颜色由fill参数指示的类别/组的颜色确定。
我要做的是改为使用指示字段大小的颜色渐变为每个单独的字段上色,以便在视觉上易于发现最大/最小的组(类似于热图/水平图的着色方式)
有没有办法在R中做到这一点?
有没有办法匿名共享R-package,可以在Unix,Mac和/或Windows上运行(最好全部3个,并且很容易在CRAN上运行)?
在CRAN上有一个R包,以便可以复制分析,并且可以演示和分享方法,这可以大大促进对提交给科学/统计期刊的稿件的审查(在我看来和经验中).
如果该期刊需要盲审,那么我如何以一种让审查失明的方式共享R包(传统上,描述文件列出了我的姓名和电子邮件地址,这会使评论无法解决)?
我想到了以下选项,所有这些都有缺点:
install.packages()和library()系统之间存在很大差异,并且为所有平台手动创建和包含拉链是繁琐的.我已经提到过CRAN和Github,因为我最熟悉这些回购.我对其他解决方案持开放态度.
我花了很多时间来获得 R 中的每个不同天数:
start <- as.Date(c("2013-02-26", "2013-03-26","2013-04-01","2013-04-26","2013-05-26"))
end <- as.Date(c("2013-03-25","2013-03-31","2013-04-25","2013-05-25","2013-06-25"))
per_cost <- c(3451380,3767052,3726900,4076868,3575311)
x <- data.frame(START_DAY=start, END_DAY=end, PER_COST=per_cost)
x$DIF_DAYS<- x$END_DAY-x$START_DAY
Run Code Online (Sandbox Code Playgroud)
然后,我得到了这个:
START_DAY END_DAY PER_COST DIF_DAYS
1 2013-02-26 2013-03-25 3451380 27 days
2 2013-03-26 2013-03-31 3767052 5 days
3 2013-04-01 2013-04-25 3726900 24 days
4 2013-04-26 2013-05-25 4076868 29 days
5 2013-05-26 2013-06-25 3575311 30 days
Run Code Online (Sandbox Code Playgroud)
我想得到这个输出:
DATE PER_COST
2013-02-26 3451380
2013-02-27 3451380
2013-02-28 3451380
2013-02-29 3451380
...
2013-03-25 3451380
2013-03-26 3767052
2013-03-27 3767052
2013-03-28 3767052
Run Code Online (Sandbox Code Playgroud)
怎么做?
我试图在R中读取一个csv文件,read.csv给了我一个警告,因此停止从那里读取.我认为这与那里的额外报价有关.我该如何解决这个问题?
(csv文件放在下面的公共共享上以供访问)
> scoresdf = read.csv('http://aftabubuntu.cloudapp.net/trainDataEnglish.csv')
Warning message:
In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
EOF within quoted string
Run Code Online (Sandbox Code Playgroud)