如何在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循环以及矢量化符号,但没有任何工作。道歉无疑是一个重复的问题,但我试图谷歌搜索了很多虚假的线索
答
您可以使用粘贴功能在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"
'名称(MYLIST)