小编Aru*_*run的帖子

函数write.csv返回错误

R函数write.csv返回错误.

这是我想写的data.frame:

> VaRStats
               A Index    B Index      C Index
Daily VaR     -0.65006    -0.50391     -0.5557
Daily CVaR    -0.75679    -0.57491    -0.65174
5 Days VaR     -1.4204     -1.0077     -1.2269
Run Code Online (Sandbox Code Playgroud)

这是以下类VaRStats:

> class(VaRStats)
[1] "data.frame"
Run Code Online (Sandbox Code Playgroud)

以下是dput()输出VaRStats:

> dput(VaRStats)
structure(list(`JWFXA Index` = structure(list(`NA` = -0.650061101980277, 
    `NA` = -0.756791819719978, `JWFXA Index` = -1.42035638029947), .Names = c(NA, 
NA, "JWFXA Index")), `CCYT1 Index` = structure(list(`NA` = -0.503912574910245, 
    `NA` = -0.574907003405759, `CCYT1 Index` = -1.00773735259718), .Names = c(NA, 
NA, "CCYT1 Index")), …
Run Code Online (Sandbox Code Playgroud)

csv r

4
推荐指数
1
解决办法
4514
查看次数

如何使用变量在R中命名另一个变量?

我有一个函数,用于readline允许用户输入他们想要为我们为他们创建的变量给出的名称.我们称之为"USER.DEFINED.VARIABLE".它包含我想用于另一个变量的名称.假设"USER.DEFINED.VARIABLE"被设置readline为"jimsfilename".

我知道我可以使用以下命令为名为"jimsfilename"的变量赋值:

assign(USER.DEFINED.VARIABLE,c(1,2,3,4,5))
Run Code Online (Sandbox Code Playgroud)

"jimsfilename"现在将包含1,2,3,4,5在其中.但是,我现在如何对"jimsfilename"大惊小怪,因为我没有(在readline将它分配给USER.DEFINED.VARIABLE之前)知道它的名字是什么?

换句话说,假设我现在想要为jimsfilename中的每个值添加1.我做不到:

USER.DEFINED.VARIABLE <- USER.DEFINED.VARIABLE + 1 # can't do this
Run Code Online (Sandbox Code Playgroud)

因为"USER.DEFINED.VARIABLE"实际上是一个文本字符串名称.我想要引用jimsfilename,但我只有USER.DEFINED.VARIABLE来表示它.我确信这很容易......

variables r

4
推荐指数
1
解决办法
8207
查看次数

在R中使用mapply时,将t.test的输出保存到数据帧

我有两个这样的数据帧

a    b    c
1    2    3
2    3    3
1    2    3
Run Code Online (Sandbox Code Playgroud)

具有相同的列名称.我正在使用

mapply(t.test, df1, df2)
Run Code Online (Sandbox Code Playgroud)

输出t.text的结果,比较两个数据帧之间的a,b和c型列.这得到(实际结果):

        LHM                                      
statistic   -11.5671                                 
parameter   90.46322                                 
p.value     1.575918e-19                             
conf.int    Numeric,2                                
estimate    Numeric,2                                
null.value  0                                        
alternative "two.sided"                              
method      "Welch Two Sample t-test"                
data.name   "dots[[1L]][[23L]] and dots[[2L]][[23L]]"
        RaM                                      
statistic   -18.66368                                
parameter   172.2032                                 
p.value     3.200675e-43                             
conf.int    Numeric,2                                
estimate    Numeric,2                                
null.value  0                                        
alternative "two.sided"                              
method      "Welch Two Sample t-test"                
data.name   "dots[[1L]][[24L]] and dots[[2L]][[24L]]"
Run Code Online (Sandbox Code Playgroud)

等等(每个数据帧中有~180列数据).我需要将列的名称及其对应的p值存储在矩阵中.将哪个数据框包含较高值存储在另一列中也是有帮助的.救命?

statistics r

4
推荐指数
1
解决办法
2029
查看次数

R:浓缩指数

我有一个像下面这样的矢量:

xx <- c(1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1)
Run Code Online (Sandbox Code Playgroud)

我想找到有一个的索引并将它们组合在一起.在这种情况下,我希望输出在2x2矩阵中看起来像1 6和11 14.我的矢量实际上很长,所以我不能手工完成.谁能帮我这个?谢谢.

r

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

从下一行的值向数据框添加一列

我有一个具有以下结构和值的数据框:

total_size <- 5000;
id line_number
1   1232
2   1456
3   1832
4   2002
Run Code Online (Sandbox Code Playgroud)

我需要使用 next_row 中的值动态地将新列添加到数据框中。即:新列值应为:下一行-1 的(line_number)。最后一行的值应使用total_size 值填充。

我需要产生的最终输出是:

id line_number   end_line_number
1   1232         1455
2   1456         1831
3   1832         2001
4   2002         5000
Run Code Online (Sandbox Code Playgroud)

知道如何在 R 中动态生成它吗?

r

4
推荐指数
1
解决办法
4602
查看次数

拆分字符串而不丢失字符

我希望将字符串拆分为某个字符,同时将该字符保留在第二个结果字符串中.我可以实现几乎所有所需的操作,除了我丢失了我指定的字符strsplit,我猜这个字符称为分隔符.

有没有办法要求strsplit保留分隔符?或者我必须使用某种正则表达式吗?谢谢你的任何建议.这似乎是一个非常基本的问题.对不起,如果它是重复的.我更喜欢使用底座R.

这是一个显示我到目前为止的例子:

my.table <- read.table(text = '
                                                            model npar     AICc 
 AA(~region+state+county+city)BB(~region+state+county+city)CC(~1)   17 11111.11
         AA(~region+state+county)BB(~region+state+county)CC(~123)   14 22222.22
                        AA(~region+state)BB(~region+state)CC(~33)   13 33333.33
                                  AA(~region)BB(~region)CC(~4321)    6 44444.44
', header = TRUE, stringsAsFactors = FALSE)

desired.result <- read.table(text = '
                                                      model        CC npar     AICc
 AA(~region+state+county+city)BB(~region+state+county+city)    CC(~1)   17 11111.11
           AA(~region+state+county)BB(~region+state+county)  CC(~123)   14 22222.22
                         AA(~region+state)BB(~region+state)   CC(~33)   13 33333.33
                                     AA(~region)BB(~region) CC(~4321)    6 44444.44
', header = TRUE, stringsAsFactors = FALSE)

split.model  <- strsplit(my.table$model, 'CC\\(')

split.models <- matrix(unlist(split.model), ncol=2, byrow=TRUE, dimnames = list(NULL, c("model", "CC"))) …
Run Code Online (Sandbox Code Playgroud)

regex split r strsplit

4
推荐指数
1
解决办法
606
查看次数

使用ggplot重新排序facet_wrap的级别

我有一个包含三个因素的现有数据集.我想使用facet_grid()绘制这三个因子,并根据它们在数据集中的排序方式而不是按字母顺序排序.这可能在不修改我的数据结构的情况下以某种方式进行吗?

这是数据:

https://dl.dropboxusercontent.com/u/22681355/data.csv

data<-read.csv("data.csv", head=T)

ggplot(data, aes(time,a, color="one")) + 
    geom_line(linetype=1, size=0.3) + 
    scale_y_continuous(breaks=seq(0,1,0.2)) + 
    scale_x_continuous(breaks=seq(100,300,50)) + 
    theme_bw() + 
    geom_line(aes(time,b)) + 
    geom_line(aes(time,c)) + 
    geom_line(aes(time,d))+facet_wrap(~X.1)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

4
推荐指数
1
解决办法
5106
查看次数

在一次通话中使用.N和.SD

假设我有一个data.table如下 - :

data = data.table(c("a","a","b","b","c"),c(1,2,3,4,5))
Run Code Online (Sandbox Code Playgroud)

我想总结数值向量,只有当因子向量有多个条目时.我遇到的问题需要使用.SD.我知道我可以创建一个N场

data[ , N := .N, by = V1]
Run Code Online (Sandbox Code Playgroud)

然后总结

data[N > 1, lapply(.SD,sum), by = V1, .SDcols = 2]
Run Code Online (Sandbox Code Playgroud)

但是,有一个步骤要求这样做吗?

在通话中引用.SD不会返回答案 -

data[, lapply(.SD[which(length(.SD)>1)],sum), by = V1, .SDcols = 2] 
Run Code Online (Sandbox Code Playgroud)

我想明白为什么这不起作用.也不 -

data[, lapply(.SD[which(.N>1)],sum), by = V1, .SDcols = 2]
Run Code Online (Sandbox Code Playgroud)

谢谢!

r data.table

4
推荐指数
1
解决办法
464
查看次数

了解data.table无效的.selfref警告

我正在尝试找出我在下面的代码中遇到的data.table'invalid .selfref'错误。

library(data.table) 
library(dplyr)
DT <- data.table(aa=1:100, bb=rnorm(n=100), dd=gl(2,100))
DT <- DT %.% group_by(dd, aa) %.% summarize(m=mean(bb))
DT <- DT[, ee := 3]
Run Code Online (Sandbox Code Playgroud)

最后一行引发错误。这里有一个建议,就是将最后一行写为,DT$ee <- 3但并不能真正解释它为什么起作用(和:=不能起作用),并且作为一个初学者data.table用户也不觉得自己是正确的data.table习惯用法。

它与那里的dplyr线有关,显然改变了DT数据表。但是,当我将该行(及其后面的行)更改为该行时,DDT <- DT %.% group_by() ...仍然会从该DT[, ee := 3]行收到selfref错误。

一直在检查各种来源,但那里的所有信息并没有真正减少,因此我仍然感到困惑。

R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Dutch_Netherlands.1252  LC_CTYPE=Dutch_Netherlands.1252   
[3] LC_MONETARY=Dutch_Netherlands.1252 LC_NUMERIC=C                      
[5] LC_TIME=Dutch_Netherlands.1252    

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

other attached packages:
[1] dplyr_0.2        data.table_1.9.2 ggplot2_1.0.0   

loaded via …
Run Code Online (Sandbox Code Playgroud)

r data.table

4
推荐指数
1
解决办法
439
查看次数

替换数据框中的特定行

在以下数据框中,

col1 <- c("g1","g2","g3",NA,"g4",NA)
col2 <- c(NA,"a1","a2",NA,"a3","a4")
df1 <-data.frame(col1,col2)
Run Code Online (Sandbox Code Playgroud)

我想用col1中的NA替换col2中相应行的行.通过提取包含NA的行来继续是否正确

row <- which(is.na(col1))
Run Code Online (Sandbox Code Playgroud)

然后从col2中提取字符

extract <- df1$col2[row]
Run Code Online (Sandbox Code Playgroud)

在此之后,我不知道如何用提取的字符替换col1中的NA.请帮忙!

r rows dataframe

4
推荐指数
1
解决办法
6847
查看次数

标签 统计

r ×10

data.table ×2

csv ×1

dataframe ×1

ggplot2 ×1

regex ×1

rows ×1

split ×1

statistics ×1

strsplit ×1

variables ×1