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) 我有一个函数,用于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来表示它.我确信这很容易......
我有两个这样的数据帧
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值存储在矩阵中.将哪个数据框包含较高值存储在另一列中也是有帮助的.救命?
我有一个像下面这样的矢量:
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.我的矢量实际上很长,所以我不能手工完成.谁能帮我这个?谢谢.
我有一个具有以下结构和值的数据框:
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 中动态生成它吗?
我希望将字符串拆分为某个字符,同时将该字符保留在第二个结果字符串中.我可以实现几乎所有所需的操作,除了我丢失了我指定的字符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) 我有一个包含三个因素的现有数据集.我想使用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) 假设我有一个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)
谢谢!
我正在尝试找出我在下面的代码中遇到的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) 在以下数据框中,
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.请帮忙!