我有一个df,其中有两个相关的列,具有不同长度的1.words单词,另一个具有2个音节标签,都是因变量。现在,在第三列(3.结构)中,我想添加有关音节(Vowel或辅音)的组成部分的信息。为此,我将单词和音节的标签用作条件。
(word <- "dog", "parent", "extraordinary")
(labels <- "1", "2", "3","Final", "Mono")
(df <- data.frame(word,labels))
我以前使用过非常相似的代码,并且可以正常工作,但现在不再使用了。我最近上传了R(3.6.0),无法确定问题出在哪里。我还更新了所有我认为与此相关的软件包,但仍然没有运气。我只得到其中只有简历的专栏。我的df也更大,尽管我不认为这是问题所在。
Classes ‘rowwise_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 4458 obs. of 27 variables:
这是我的代码的摘要:
getStructure <- function(word, labels) {
if (str_detect(word, 'extraordinary') & labels == '2') {
return ('CCV')
} else {
return("CV")
}
}
df <- df %>%
rowwise() %>%
mutate(structure =getStructure(word, labels))
我需要的示例:
|word | labels | structure
---------------------------
|dog | Mono | CVC
|parent| 1 | CV
|parent| Final | CVC
我想使用一个函数,并在必要时指定每个单词和音节。之后,剩下的就是所有简历。
但是,我在所有行中都只有一个新的CV列,并且
Warning message:
In if (str_detect(word, "dog") & labels == "1") { :
the condition has length > 1 and only the first element will be used