将列表替换为在rep中创建的列表

将列表替换为在rep中创建的列表,r,dataframe,R,Dataframe,我有这个密码 nd = 100 scores$data = factor(rep(c("wine", "beer", "coffee", "soda"), nd)) 但是,除了逐一列出葡萄酒、啤酒、咖啡和苏打水之外,还有没有其他方法可以把它们列出来呢?比如说 keywordName = list("wine", "beer", "coffee", "soda") scores$data = factor(rep(c(keywordName), nd)) 然而,这对我不起作用。 有解决这个问题

我有这个密码

nd = 100
scores$data = factor(rep(c("wine", "beer", "coffee", "soda"), nd))
但是,除了逐一列出葡萄酒、啤酒、咖啡和苏打水之外,还有没有其他方法可以把它们列出来呢?比如说

keywordName = list("wine", "beer", "coffee", "soda")
scores$data = factor(rep(c(keywordName), nd))
然而,这对我不起作用。
有解决这个问题的办法吗?

希望我能正确地解释我自己 我基本上只是在代码中使用了未列出(关键字名称)。nd实际上是在其他地方计算的。 所以我的问题是,因为我可以完美地计算nd并正确地得到我的分数,但是关键字的类型 我将在其中列出它是非常动态的,我不知道如何将所有这些关键字存储在一个列表中,然后 把它打出来,而不是一个接一个地硬编码

因此,我的解决方案是传递这些关键字的列表,这些关键字可以以您选择的任何方式存储,然后使用unlist将关键字放入

      eg;
      keywordName = c("pepsi","coke")  
      scores$data = factor(rep(c(unlist(keywordName)), nd))

我认为只有当你
先取消它的列表时(但是为什么要使用列表呢?)<代码>因子
需要一个原子向量,我认为,因为它需要对元素进行排序,并且它不能假设一个列表只包含一种类型的数据。(顺便说一句,
sort.list
不会对列表进行排序,这有点不幸。)请注意,
rep(c(关键字名),nd)
将是一个长度为100的列表,而不像
rep(c(“wine”,“啤酒”、“咖啡”、“苏打水”),nd)
分数应该有多少行?哦……我的糟糕,好吧,让我们看看……我的问题是,我想用另一种方法在因子中加入葡萄酒啤酒咖啡苏打。好吧,让我们假设列表长度为400,分数长度为400。好的,使用了,未列出,我认为它起作用了。谢谢joran:P