我刚刚注意到每当我构建和重新加载包时,我都有这个新对象"oldLC".它以前从未出现过,为什么它现在出现了,我怎么能让它停下来?自从我上次制作包装以来,我唯一想到的就是改变了我安装了最新的rstudio.
> load_all()
Loading tmp
> ls()
character(0)
Restarting R session...
> library(tmp)
> ls()
[1] "oldLC"
> oldLC
[1] "en_US.UTF-8"
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] tmp_0.1 roxygen2_3.1.0 devtools_1.4.1
loaded via a namespace (and not attached):
[1] brew_1.0-6 codetools_0.2-8 digest_0.6.4 evaluate_0.5.1
[5] httr_0.2 memoise_0.1 parallel_3.0.2 Rcpp_0.11.0
[9] RCurl_1.95-4.1 stringr_0.6.2 tools_3.0.2 whisker_0.3-2
Run Code Online (Sandbox Code Playgroud) 我想使用circlize包制作一个和弦图.我有一个包含四列汽车的数据框.2个第一列包含有关汽车频段和所拥有车型的信息,以及受访者迁移到的品牌和型号的下两列.
这是一个简单的数据框示例:
Brand_from model_from Brand_to Model_to
1: VOLVO s80 BMW 5series
2: BMW 3series BMW 3series
3: VOLVO s60 VOLVO s60
4: VOLVO s60 VOLVO s80
5: BMW 3series AUDI s4
6: AUDI a4 BMW 3series
7: AUDI a5 AUDI a5
Run Code Online (Sandbox Code Playgroud)
将它变成和弦图会很棒.我在帮助中找到了一个有效的例子但是我无法将我的数据转换成正确的格式以制作情节.此代码来自circlize包中的帮助.这产生了一层,我想我需要两个,品牌和型号.
mat = matrix(1:18, 3, 6)
rownames(mat) = paste0("S", 1:3)
colnames(mat) = paste0("E", 1:6)
rn = rownames(mat)
cn = colnames(mat)
factors = c(rn, cn)
factors = factor(factors, levels = factors)
col_sum = apply(mat, 2, sum)
row_sum = apply(mat, 1, …Run Code Online (Sandbox Code Playgroud) 我需要从表函数输出中删除行,这些行在所有列中都有0个计数.有没有简单的方法呢?
table(ds$animal,ds$gender)
___ | M | F
Cat | 9 | 4
Dog | 0 | 0
Rat | 4 | 3
Run Code Online (Sandbox Code Playgroud)
我只是想看看那些行:
___ | M | F
Cat | 9 | 4
Rat | 4 | 3
Run Code Online (Sandbox Code Playgroud) 以下是circlize包中用于创建和弦图的一些代码.现在标签与圆的边缘平行.是否可以将标签旋转90度,使其垂直于圆圈?
library(circlize)
set.seed(999)
mat = matrix(sample(18, 18), 3, 6)
rownames(mat) = paste0("Start", 1:3)
colnames(mat) = paste0("End", 1:6)
chordDiagrm(mat)
Run Code Online (Sandbox Code Playgroud)
在下图中,我手动插入了几个标签,以显示我希望完成的任务(End5,End6,End7).谢谢.
给定x长度为k 的向量,我想通过k矩阵获得ak,X其中X[i,j]是k 的总和x[i] + ... + x[j].我现在这样做的方式是
set.seed(1)
x <- rnorm(10)
X <- matrix(0,10,10)
for(i in 1:10)
for(j in 1:10)
X[i,j] <- sum(x[i:j])
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,] -0.6264538 -0.4428105 -1.2784391 0.3168417 0.64634948 -0.1741189 0.31331014 1.0516348 1.6274162 1.3220278
# [2,] -0.4428105 0.1836433 -0.6519853 0.9432955 1.27280329 0.4523349 0.93976395 1.6780887 2.2538700 1.9484816
# [3,] -1.2784391 -0.6519853 -0.8356286 0.7596522 1.08915996 0.2686916 0.75612063 1.4944453 2.0702267 1.7648383
# [4,] …Run Code Online (Sandbox Code Playgroud) 我使用ddply相当多但我不认为自己是专家.我有一个数据框(df),其分组变量"Group"具有值"A","B"和"C"以及要汇总的变量,"Var"具有数值.如果我使用
ddply(df, .(Group), summarize, mysum=sum(Var))
Run Code Online (Sandbox Code Playgroud)
然后我得到每个A,B和C的总和,这是正确的.但我想要做的是将每个Group变量分组相加,因为它们在数据框中排列.例如,如果数据框有
Group Var
A 1.3
A 1.2
A 0.4
B 0.3
B 1.3
C 1.5
C 1.7
C 1.9
A 2.1
A 2.4
B 6.7
Run Code Online (Sandbox Code Playgroud)
期望的结果
A 2.9
B 1.6
C 5.1
A 4.5
B 6.7
Run Code Online (Sandbox Code Playgroud)
因此,所需的输出对每个Group变量分组执行数学函数,而不是对各个Group变量的所有实例执行数学函数.这可以在ddply中完成吗?
数据
dat <- structure(list(Group = c("A", "A", "A", "B", "B", "C", "C", "C", "A", "A", "B"),
Var = c(1.3, 1.2, 0.4, 0.3, 1.3, 1.5, 1.7, 1.9, 2.1, 2.4, 6.7)),
.Names = c("Group", "Var"), class = "data.frame", row.names = …Run Code Online (Sandbox Code Playgroud) 我想在Github上放一些R代码和相关的数据文件(RData).
到目前为止,一切正常.但是当人们克隆存储库时,我希望他们能够立即运行代码.目前,这是不可能的,因为他们必须将他们的工作目录(setwd)更改为RData文件被克隆(即下载)到的目录.
因此,我认为可能更容易,如果我更改R代码,使其链接到github上的RData文件.但我无法使用以下代码段来实现此功能.我想也许有一些问题文本/二进制问题.
x <- RCurl::getURL("https://github.com/thefactmachine/hex-binning-gis-data/raw/master/popDensity.RData")
y <- load(x)
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
谢谢
从这个被关闭的问题开始,op询问如何从字符串中提取排名,第一,中间和最后一个
x <- c("Marshall Robert Forsyth", "Deputy Sheriff John A. Gooch",
"Constable Darius Quimby", "High Sheriff John Caldwell Cook")
# rank first middle last
# Marshall Robert Forsyth "Marshall" "Robert" "" "Forsyth"
# Deputy Sheriff John A. Gooch "Deputy Sheriff" "John" "A." "Gooch"
# Constable Darius Quimby "Constable" "Darius" "" "Quimby"
# High Sheriff John Caldwell. Cook "High Sheriff" "John" "Caldwell" "Cook"
Run Code Online (Sandbox Code Playgroud)
我想出了这个,只有当中间名包含一个句号时才有效; 否则,排名模式会从行首开始捕获.
pat <- '(?i)(?<rank>[a-z ]+)\\s(?<first>[a-z]+)\\s(?:(?<middle>[a-z.]+)\\s)?(?<last>[a-z]+)'
f <- function(x, pattern) {
m <- gregexpr(pattern, …Run Code Online (Sandbox Code Playgroud) 我正在参加Coursera实践机器学习课程,课程作业需要使用此数据集构建预测模型.将数据分成后training和testing数据集的基础上,感兴趣的结果(本文件标记y,但实际上是在classe数据集中的变量):
inTrain <- createDataPartition(y = data$y, p = 0.75, list = F)
training <- data[inTrain, ]
testing <- data[-inTrain, ]
Run Code Online (Sandbox Code Playgroud)
我尝试了两种不同的方法:
modFit <- caret::train(y ~ ., method = "rpart", data = training)
pred <- predict(modFit, newdata = testing)
confusionMatrix(pred, testing$y)
Run Code Online (Sandbox Code Playgroud)
与
modFit <- rpart::rpart(y ~ ., data = training)
pred <- predict(modFit, newdata = testing, type = "class")
confusionMatrix(pred, testing$y)
Run Code Online (Sandbox Code Playgroud)
我假设它们会给出相同或非常相似的结果,因为初始方法加载'rpart'包(建议我使用此包用于该方法).但是,时间(caret慢得多)和结果是非常不同的:
Method 1 (caret):
Confusion Matrix and …Run Code Online (Sandbox Code Playgroud) R控制台:当我调用时source("file_of_functions.R",echo=TRUE),所有源文件表达式(包括注释)都打印到控制台.
编织HTML:当我放入source("file_of_functions.R",echo=TRUE)一个块并编织到html时,除了注释之外,打印相同的输出.
为了清楚我的代码和报告,我希望源文件的注释包含在html报告中.
有什么建议?
基本示例:将以下内容另存为fR:
# function to add a number to itself
f <- function(x) x+x
f(2)
Run Code Online (Sandbox Code Playgroud)
在控制台中,调用source("f.R",echo=TRUE)打印:
Run Code Online (Sandbox Code Playgroud)#function to add a number to itself > f <- function(x) x+x > f(2) > [1] 4
编织到html时,通话
```{r}
source("f.R",echo=TRUE)
```
Run Code Online (Sandbox Code Playgroud)
产生相同的输出,但没有评论.