当用户定义的函数放在一个for循环中时,我很难将它们存储在R列表中。
我必须根据一些参数定义一些特定于段的函数,所以我创建函数,并将它们放在一个列表中,循环使用for-循环的段。问题是,结果列表中的所有地方都有相同的函数。
代码如下所示:
n <- 100
segmenty <- 1:n
segment_functions <- list()
for (i in segmenty){
segment_functions[[i]] <- function(){return(i)}
}
当我运行代码时,我得到的是所有索引的相同函数(最后在循环中创建):
## for
我有一个包含3个元素的列表,每个元素都是一个包含2个其他元素的列表。第一个,一个四维向量,第二个,比如说,一个字符.下面的代码将生成一个与我刚才描述的一模一样的列表:
x <- NULL
for(i in 1:3){
set.seed(i); a <- list(sample(1:4, 4, replace = T), LETTERS[i])
x <- c(x, list(a))
}
它的结构位于以下类型之前(由于我使用了sample函数,确切的值可能会变粗):
> str(x)
List of 3
$ :List of 2
..$ : int [1:4]
我在R中有一个关于列表的问题,我在16个列表中有一个列表,其中包含了这样的变量:
x
[[1]]
A 1 3
B 4 2
[[2]]
C 23 4
D 9 22
E 4 54
A、B、C和D是列表中的行名。现在,我希望创建一个文件,该文件仅将行名粘贴到dataframe中。dataframe中的每一行在总列表中包含一个列表。
A B
C D E
有人能帮我吗?我想可能有些像do.call(rbind,rowname(X))之类的东西
编辑!05-08-2011
是否有办法按列表保存行名列表?最后,数据中没有NA,数据是不相等的?
谢谢大家!
我不知道这是否真的可行,但我需要找到一个解决这个问题的办法。我将几个数据存储在由以下内容生成的列表中:
SSE <- list()
for (i in cms){
SSE[[paste0("SE",i)]] <- subset(DF, DF$X == i)
}
其中cms是存储我需要的DF$X值的向量。因此,我最终得到了一个列表SSE,例如,我可以在SSE["SE1"]中使用许多数据格式。
现在我的问题是,我想要使用所有的数据文件都是SSE在另一个for循环上,我不知道如何调用这些数据。这是我想要做的一个简单的例子:
for (i in cms)
我有一个年度数据集,我想将其分成10天的间隔。例如,我想将2010-12-26子集设置为2011-01-04,使用这些日期的x和y值创建一个home range,然后获得接下来的9天加上子集数据之间的重叠日期,在本例中为2011-01-04 (2011-01-04 to 2011-01-13)。有什么好方法可以做到这一点吗? library(lubridate)
date <- rep_len(seq(dmy("26-12-2010"), dmy("20-01-2011"), by = "days"), 500)
df <- dat
我有一个html文件的列表,我已经从网络上提取了一些文本,并让它们与read_html一起阅读。
我的文件名是:
a1 <- read_html(link of the text)
a2 <- read_html(link of the text)
.
.
. ## until:
a100 <- read_html(link of the text)
我试着用这些创建一个语料库。
我该怎么做呢?
谢谢。
我有一个非对称列表,即每个子列表中的元素数量不同。如何将列表转换为矩阵?
下面我从一个对称列表开始,用两种不同的方法将它转换成一个矩阵。
# create a symmetric list
my.list1 <- list(c(1,2,3,4),c(5,6,7,8),c(9,10,11,12))
my.list1
# convert symmetric list to a matrix
mat.a1 <- matrix( unlist(my.list1), nrow=length(my.list1), byrow=T )
mat.a1
# alternative m