为什么赢了';我的for循环是否可以遍历整个列表?

为什么赢了';我的for循环是否可以遍历整个列表?,r,loops,for-loop,replicate,R,Loops,For Loop,Replicate,从本质上讲,我是在获取一个情绪列表,并尝试将列表中的每个情绪复制6次,然后将它们添加到一个向量中。例如: emotions<-c("Happy","Sad","Angry") emotions要实现这一点,您可以使用lappy(将函数应用于列表/向量的每个元素)和unlist(将结果列表展平): pmd.df3$Emotions借助shambalambala的答案,rep可以以本机方式处理此问题,而无需Lappy或for循环 emotions <- c("Happy", "Sad"

从本质上讲,我是在获取一个情绪列表,并尝试将列表中的每个情绪复制6次,然后将它们添加到一个向量中。例如:

emotions<-c("Happy","Sad","Angry")

emotions要实现这一点,您可以使用
lappy
(将函数应用于列表/向量的每个元素)和
unlist
(将结果列表展平):


pmd.df3$Emotions借助shambalambala的答案,rep可以以本机方式处理此问题,而无需Lappy或for循环

emotions <- c("Happy", "Sad", "Angry")
pmd.df3 = data.frame(id = seq(1, 18))
pmd.df3$Emotions <- rep(emotions, each = 6)

   id Emotions
1   1    Happy
2   2    Happy
3   3    Happy
4   4    Happy
5   5    Happy
6   6    Happy
7   7      Sad
8   8      Sad
9   9      Sad
10 10      Sad
11 11      Sad
12 12      Sad
13 13    Angry
14 14    Angry
15 15    Angry
16 16    Angry
17 17    Angry
18 18    Angry

请在您的问题中包括您使用的编程语言。建议:提及您的代码所使用的编程语言。它将帮助您更快地获得解决方案,因为正确的开发人员将能够看到您的代码。总是用正确的标签来标记你的问题。你是对的——我错了!谢谢你提醒我。你能告诉我为什么我的代码不起作用吗?当我说“打印”时,它是有效的,但当我把它保存为一个向量时,它删除了所有的情感,但第一个(它复制了6次)。@AndrewColin我不太熟悉像你那样在代码中使用
print
,但我想发生的是你没有将所有的情感聚合到一个向量中(
pmd.df3$Emotions)逻辑对我来说是有意义的。谢谢你的回答和解释!这也很有效。谢谢你分享这个选项!
  pmd.df3$Emotions<-(
     for(ele in emotions){
       new.column<-replicate(6,ele)
       print(new.column)
     }
   )
pmd.df3$Emotions <- unlist(lapply(emotions, function(x) { rep(x, 6) }))
emotions <- c("Happy", "Sad", "Angry")
pmd.df3 = data.frame(id = seq(1, 18))

pmd.df3$Emotions <- unlist(lapply(emotions, function(x) { rep(x, 6) }))
pmd.df3 
#    id Emotions
# 1   1    Happy
# 2   2    Happy
# 3   3    Happy
# 4   4    Happy
# 5   5    Happy
# 6   6    Happy
# 7   7      Sad
# 8   8      Sad
# 9   9      Sad
# 10 10      Sad
# 11 11      Sad
# 12 12      Sad
# 13 13    Angry
# 14 14    Angry
# 15 15    Angry
# 16 16    Angry
# 17 17    Angry
# 18 18    Angry
emotions <- c("Happy", "Sad", "Angry")
pmd.df3 = data.frame(id = seq(1, 18))
pmd.df3$Emotions <- rep(emotions, each = 6)

   id Emotions
1   1    Happy
2   2    Happy
3   3    Happy
4   4    Happy
5   5    Happy
6   6    Happy
7   7      Sad
8   8      Sad
9   9      Sad
10 10      Sad
11 11      Sad
12 12      Sad
13 13    Angry
14 14    Angry
15 15    Angry
16 16    Angry
17 17    Angry
18 18    Angry