【发布时间】:2020-05-07 18:15:08
【问题描述】:
我有一个类似于以下的数据框:
Frequency Period No. Period
Q1 3
Q2 6
Q3 9
如果频率列中的值以“Q”开头,我希望周期列填充相应的季度(即,如果频率为 Q1,则周期为 Q1)。我不希望通过简单地将频率列中的值粘贴到周期列来完成此操作。
我目前正在尝试使用 startsWith 和 paste0 来执行此操作:
df$Frequency[startsWith(df$Frequency, "Q")] <- paste0("Q", (df$`Period No.`)-1)%/%3+1)
我收到了错误
Error in startsWith(df$Frequency, "Q") :
non-character object(s)
有人可以帮忙解决这个问题吗?
【问题讨论】:
-
df$Frequency 很可能是一个因素。检查类(df$Frequency)。然后做 df$Frequency = as.character(df$Frequency) ;然后做替换
标签: r paste startswith