尝试访问R环境会产生意外结果
在我的普通R环境中,我有一组名为Ldat.1、Ldat.2等的数据帧,可以交互访问 在控制台中,我可以键入:尝试访问R环境会产生意外结果,r,environment-variables,R,Environment Variables,在我的普通R环境中,我有一组名为Ldat.1、Ldat.2等的数据帧,可以交互访问 在控制台中,我可以键入: > dim(Ldat.1)[1] [1] 40 > dim(Ldat.2)[1] [1] 39 所以我可以看出第一个有40行,第二个有39行 但是,对于几十个数据帧,我想编写一个脚本来告诉我每个帧中有多少行 我尝试了以下方法: print(dim(Ldat.1)[1]) print(dim(Ldat.2)[1]) for (i in 1:2){ namex<-pa
> dim(Ldat.1)[1]
[1] 40
> dim(Ldat.2)[1]
[1] 39
所以我可以看出第一个有40行,第二个有39行
但是,对于几十个数据帧,我想编写一个脚本来告诉我每个帧中有多少行
我尝试了以下方法:
print(dim(Ldat.1)[1])
print(dim(Ldat.2)[1])
for (i in 1:2){
namex<-paste("Ldat.",i,sep="")
size<-dim(.GlobalEnv$namex)
print(size[1])
}
打印(尺寸(Ldat.1)[1])
打印(尺寸(Ldat.2)[1])
(我在1:2中){
namex打印(尺寸(Ldat.2)[1])
[1] 39
>(我在1:2中){
+namex1)这将列出每个数据帧的名称及其行数:
sapply(Filter(is.data.frame, mget(ls())), nrow)
如果我们已经有了nms
,一个数据帧名称向量,那么我们可以将其简化为:
nms <- c("Ldat.1", "Ldat.2")
sapply(mget(nms), nrow)
3)还可以尝试R.oo包中的ll
功能。1)这将列出每个数据帧的名称及其行数:
sapply(Filter(is.data.frame, mget(ls())), nrow)
如果我们已经有了nms
,一个数据帧名称向量,那么我们可以将其简化为:
nms <- c("Ldat.1", "Ldat.2")
sapply(mget(nms), nrow)
3)还可以尝试R.oo包中的ll
函数。尝试以下操作:
for (i in 1:2){
namex<-paste("Ldat.",i,sep="")
size<-dim(.GlobalEnv[[namex]])
print(size[1])
}
for(1:2中的i){
namex试试这个:
for (i in 1:2){
namex<-paste("Ldat.",i,sep="")
size<-dim(.GlobalEnv[[namex]])
print(size[1])
}
for(1:2中的i){
namexmget
是R
中的一个函数,你可以花几个小时在一个问题上绞尽脑汁,直到你最终发现你需要的是什么。这些语法元素非常有趣。我一定会写一些测试脚本,以确保我理解它们。谢谢你-你的信息已经扩展了我的R视野相当开阔。mget
是R
中的一个函数,你可以花几个小时思考一个问题,直到你最终发现你需要的是什么。这些语法元素非常有趣。我一定会编写一些测试脚本,以确保我理解它们。谢谢你-你的infOrformation大大拓宽了我的R视野。这太完美了。即使我尝试着练习我的R技能,没有专家的建议也很难提高。谢谢。如果你想使用sapply
你可以试试:sapply(mget(ls(patt=“Ldat”)),NROW)
,也会发现Ldat.3
或Ldat.x
非常完美。即使我尝试练习我的R技能,没有专家的建议也很难提高。谢谢。如果你想使用sapply
你可以试试:sapply(mget(ls(patt=“Ldat”)),NROW)
,也可以找到Ldat.3
或Ldat.x
for (i in 1:2){
namex<-paste("Ldat.",i,sep="")
size<-dim(.GlobalEnv[[namex]])
print(size[1])
}