如何在R中矢量化函数的参数?

问题描述:

我在R中有一个列表,我试图从字符数组中重命名列表成员。例如:如何在R中矢量化函数的参数?

mylist <- list(c('a','b','c'),c('d','e'),'f') 
headers <- c('heading1','heading2','heading3') 

而且我可以重命名列表中的成员如下:

names(mylist) <- c(headers[1], 
        headers[2], 
        headers[3]) 

但是,当我的名单很长的成员100S,这个代码是可怕的编写。我试过使用for循环以及矢量化符号,但没有任何工作。道歉无疑是一个重复的问题,但我试图谷歌搜索了很多虚假的线索

+5

'名称(MYLIST)

您可以使用粘贴功能在for循环中顺序创建编号标题。然后使用上面的答案将标题分配给列表的名称。

mylist <- list(c('a','b','c'),c('d','e'),'f') 
headers <- rep(NA, length(mylist)) 
for (i in 1:length(mylist)){ 
    headers[i] <- paste("heading", i, sep = "") 
} 
names(mylist) <- headers 

随着sprintf -function它是那么容易,因为:

names(mylist) <- sprintf("%s%s", "heading", 1:length(mylist)) 

其结果是:

> mylist 
$heading1 
[1] "a" "b" "c" 

$heading2 
[1] "d" "e" 

$heading3 
[1] "f"