小编Kla*_*aus的帖子

大写的第一个字母

是否还有其他版本可以为每个字符串设置首字母,而且对于flac perl也是FALSE?

name<-"hallo"
gsub("(^[[:alpha:]])", "\\U\\1", name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)

string r

40
推荐指数
6
解决办法
4万
查看次数

rnorm函数使用哪种算法

rnorm默认情况下,该函数使用哪种算法生成标准正态分布的随机数?

random r

11
推荐指数
2
解决办法
1436
查看次数

绘图树与graph.tree功能从igraph

在igraph包的文档中有一个例子

igraph.options(plot.layout=layout.reingold.tilford)
plot(graph.tree(20, 2))
Run Code Online (Sandbox Code Playgroud)

输出应该将数据表示为树.但我得到的是

在此输入图像描述

r igraph

5
推荐指数
1
解决办法
7815
查看次数

使用do.call进行通用S4方法

我有一个参数列表,并希望通过do.call调用B(var3 = list(1:3)).但是下面的示例仅调用dispatch"missing"的方法.如何访问调度方法"ANY"?

B.initialize<-function(..., var3=list()){
  callSuper(..., var3=as.list(var3))
}

.B<-setRefClass(Class = "B"
               ,fields = list(var3 = "list")
               ,methods = list(initialize=B.initialize))
setGeneric("B", function(x, ...) standardGeneric("B"))
setMethod("B", "missing", function(x, ...) {
  .B()
})
setMethod("B", "ANY", function(x, ...) {
  .Part(var1=x, ...)
})
do.call(B,list(var3=list(1:3)))
Run Code Online (Sandbox Code Playgroud)

r generic-method s4

5
推荐指数
0
解决办法
165
查看次数

if else的快捷方式

表达下面的决定规则的最短方式是什么?

df<-data.frame(a=LETTERS[1:5],b=1:5)
index<-df[,"a"]=="F"
if(any(index)){
  df$new<-"A"
}else{
  df$new<-"B"
}
Run Code Online (Sandbox Code Playgroud)

if-statement r

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

设置列名ddply

如何设置汇总数据的列名称

library(plyr)
ddply(data,.(col1,col2),nrow)
Run Code Online (Sandbox Code Playgroud)

ddply(data,.(col1,col2),function(x) data.frame(number=nrow(x)))
Run Code Online (Sandbox Code Playgroud)

r plyr

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

带有键值的R中的for循环

R中的等效方法是什么

foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}
Run Code Online (Sandbox Code Playgroud)

这意味着

arr<-c(a=1,b=2,c=3)
key<-names(arr)
val<-arr
for(i in 1:length(arr)){
 print(paste(key[i],val[i]))
}
Run Code Online (Sandbox Code Playgroud)

loops r

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

在R中使用Kolmogorov Smirnov检验

我设计了3000个实验,因此在一个实验中有4组(治疗),每组有50个人(受试者).对于每个实验,我做一个标准的单因素方差分析并证明它们的p值是否在零假设下具有单概率函数,但是ks.test拒绝这个假设,我不明白为什么?

subject<-50
treatment<-4
experiment<-list()
R<-3000
seed<-split(1:(R*subject),1:R)
for(i in 1:R){
  e<-c()
  for(j in 1:subject){
    set.seed(seed[[i]][j]) 
    e<-c(e,rmvnorm(mean=rep(0,treatment),sigma=diag(3,4),n=1,method="chol"))
   }
  experiment<-c(experiment,list(matrix(e,subject,treatment,byrow=T)))
 }

 p.values<-c()
for(e in experiment){
  d<-data.frame(response=c(e),treatment=factor(rep(1:treatment,each=subject)))
  p.values<-c(p.values,anova(lm(response~treatment,d))[1,"Pr(>F)"])
 }

 ks.test(p.values, punif,alternative = "two.sided")
Run Code Online (Sandbox Code Playgroud)

r anova

3
推荐指数
1
解决办法
1855
查看次数

如何指向S4对象?

如何更改下面的行为,使对象b和c中的插槽名称指向同一个对象?

A<-setClass(Class = "A",
            slot = c(name = "character"
            )
)
B<-setClass(Class = "B",
            slot=c(name = "A"
         )
)


a<-A(name="abc")
b<-B(name=a)
c<-B(name=a)

b@name@name="ABC"
b@name@name==c@name@name
Run Code Online (Sandbox Code Playgroud)

r s4

3
推荐指数
1
解决办法
118
查看次数

初始化lme中的协方差结构

如何为以下模型初始化非结构化协方差矩阵?

y<-data.frame(response=c(10,19,27,28,9,13,25,29,4,10,20,18,5,6,12,17),
               treatment=factor(rep(1:4,4)),
               subject=factor(rep(1:4,each=4))
               )
fit<-lme(response~-1+treatment,y,random=~1|subject,
         correlation=corSymm(form=~1|subject))
Run Code Online (Sandbox Code Playgroud)

我尝试了一些变种,但每次收到错误都会得到:

Error in lme.formula(response ~ -1 + treatment, y, random = ~1 |  : 
  nlminb problem, convergence error code = 1
  message = function evaluation limit reached without convergence (9)
Run Code Online (Sandbox Code Playgroud)

r mixed-models

2
推荐指数
1
解决办法
1720
查看次数

更改字符向量的选定元素

对于重命名数据框的某些列的下一个原则,是否有更短的版本?

data1<-data.frame("a"=1:3,"b"=1:3,"c"=1:3)

data1Names<-names(data1)
data1Names[data1Names=="a"]<-"hello"
data1Names[data1Names=="c"]<-"world"
names(data1)<-data1Names
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

将向量中的值替换为索引向量

下面的例子显示了向量中某些元素的替换.应该替换的元素由key给出,新值由val给出.你建议在r中采用哪种方法?

 set.seed(1)
 x<-sample(1:10,20,T)
 key<-1:10
 val<-sample(1:3,10,T)
 y<-numeric(length(x))
 for(i in 1:length(key))
   y[x==key[i]]<-val[i]
Run Code Online (Sandbox Code Playgroud)

replace r

0
推荐指数
1
解决办法
2292
查看次数

证明 S4 对象是否相同

我有两个包含S4对象的列表。现在我想询问 list_1 的元素是否包含 list_2 的元素,就像我在下面的字符向量列表示例中所做的那样。

s<-list(a=LETTERS[1:3],b=LETTERS[4:6])
t<-list(n=LETTERS[1:3],v=LETTERS[1:4])
s %in% t
Run Code Online (Sandbox Code Playgroud)

但它能证明物体是否相同吗?如果不是,如何在不使用循环的情况下选择list_1中存在于list_2中的元素?

r r-s4

-5
推荐指数
1
解决办法
356
查看次数

标签 统计

r ×13

s4 ×2

anova ×1

dataframe ×1

generic-method ×1

if-statement ×1

igraph ×1

loops ×1

mixed-models ×1

plyr ×1

r-s4 ×1

random ×1

replace ×1

string ×1