是否还有其他版本可以为每个字符串设置首字母,而且对于flac perl也是FALSE?
name<-"hallo"
gsub("(^[[:alpha:]])", "\\U\\1", name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud) 在igraph包的文档中有一个例子
igraph.options(plot.layout=layout.reingold.tilford)
plot(graph.tree(20, 2))
Run Code Online (Sandbox Code Playgroud)
输出应该将数据表示为树.但我得到的是
我有一个参数列表,并希望通过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) 表达下面的决定规则的最短方式是什么?
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) 如何设置汇总数据的列名称
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中的等效方法是什么
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) 我设计了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) 如何更改下面的行为,使对象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) 如何为以下模型初始化非结构化协方差矩阵?
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) 对于重命名数据框的某些列的下一个原则,是否有更短的版本?
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) 下面的例子显示了向量中某些元素的替换.应该替换的元素由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) 我有两个包含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中的元素?