【发布时间】:2021-03-06 02:51:36
【问题描述】:
我有一个这样的数据框
structure(list(a = c(1, 3, 4, 6, 3, 2, 5, 1), b = c(1, 3, 4,
2, 6, 7, 2, 6), c = c(6, 3, 6, 5, 3, 6, 5, 3), d = c(6, 2, 4,
5, 3, 7, 2, 6), e = c(1, 2, 4, 5, 6, 7, 6, 3), f = c(2, 3, 4,
2, 2, 7, 5, 2)), .Names = c("Love_ABC", "Love_CNN", "Hate_ABC", "Hate_CNN", "Love_CNBC", "Hate_CNBC"), row.names = c(NA,
8L), class = "data.frame")
我做了以下for循环
channels = c("ABC", "CNN", "CNBC")
for (channel in channels) {
dataframe <- dataframe %>%
mutate(ALL_channel = Love_channel + Hate_channel)
}
但是当我运行 for 循环时,R 告诉我找不到“对象 Love_channel”。我在 for 循环中做错了吗?
【问题讨论】:
-
你的预期输出是什么?
-
三个新列“ALL_CNN”、“ALL_ABC”、“ALL_CNBC”,其中每一行对应于对应的love_channel+hate_channel之和。例如,ALL_CNN = Love_CNN+Hate_CNN
-
您的数据中有
Love_channel和Hate_channel列吗?我没有看到他们。 -
不,我有 Love_ABC 和 Hate_ABC,但我在 channels = c("ABC", "CNN", "CNBC") 上做了一个 for 循环,并指出:for channel in channels
标签: r for-loop if-statement dplyr tidyverse