在赋值R中使用循环名
我试图使用for循环变量进行R中的赋值。假设我有一个包含3个字符串的列表:在赋值R中使用循环名,r,R,我试图使用for循环变量进行R中的赋值。假设我有一个包含3个字符串的列表: fruits = list('apple', 'pear', 'grape') 我希望使用这些名称在for循环中分配,例如 values = list() for (name in fruits){ values <- c(values, name = 5) } 然而,我得到的是: values name = 5 name = 5 name = 5 这在R中是可能的还是不可能的 谢谢您可以使用[[]]
fruits = list('apple', 'pear', 'grape')
我希望使用这些名称在for循环中分配,例如
values = list()
for (name in fruits){
values <- c(values, name = 5)
}
然而,我得到的是:
values
name = 5
name = 5
name = 5
这在R中是可能的还是不可能的
谢谢您可以使用
[[]]
分配它:
fruits = list("apple"," pear", "grape")
#I wish to use these names to assign in a for loop e.g.
values = list()
for (name in fruits){
values[[name]] <- c(5)
}
水果=列表(“苹果”、“梨”、“葡萄”)
#我希望使用这些名称在for循环中分配,例如。
值=列表()
用于(水果名称){
值[[name]]有时不在循环期间设置名称,而是在循环之后设置名称更容易。因此,如果您已经有了列表
values <- list(5, 5, 5)
# or values <- as.list(rep(5,3))
苹果、梨和葡萄是什么?它们是数据框吗?抱歉,它们是字符串
values <- list(5, 5, 5)
# or values <- as.list(rep(5,3))
values <- setNames(values, fruits)
Map(function(...) 5, as.character(fruits))
# $apple
# [1] 5
# $pear
# [1] 5
# $grape
# [1] 5