我正在尝试将字符串中出现的电话(字符)列表,但是变音符号会自行列表为字符.理想情况下,我在国际音标中有一个单词表,有相当数量的变音符号和它们与基本字符的几种组合.我在这里只给出了一个单词的MWE,但是单词列表和更多类型的组合也是如此.
> word <- "n?ana" # word constituted by 4 phones: [n?],[a],[n],[a]
> table(strsplit(word, ""))
? a n
1 2 2
Run Code Online (Sandbox Code Playgroud)
但想要的结果是:
a n n?
2 1 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得这种结果?
我正在尝试使用变音符号来获取字符串中的字符数,但我无法设法获得正确的结果。
> x <- "n?ala"
> nchar(x)
[1] 5
Run Code Online (Sandbox Code Playgroud)
我想得到的是4,因为n?应该将其视为一个字符(即变音符号不应被单独视为字符,即使在基本字符上堆叠了多个变音符号也是如此)。
我如何获得这种结果?
我有一个时间序列数据集,其中包含一个连续的结果变量和两个因子预测变量(一个具有 6 个级别,一个具有 2 个级别)。
我想对连续变量上的两个因子变量的非线性交互进行建模。
这是我到目前为止的模型:
library(mgcv)
model <- bam(
outcome ~
factor_1 + factor_2 +
s(time, k = 9) +
s(time, by = factor_1, k = 9) +
s(time, by = factor_2, k = 9),
data = df
)
summary(model)
Family: gaussian
Link function: identity
Formula:
outcome ~ factor_1 + factor_2 + s(time, k = 9) + s(time, by = factor_1,
k = 9) + s(time, by = factor_2, k = 9)
Parametric coefficients:
Estimate Std. Error t …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个for循环,将一个字符串附加到数据框中的每个数据点.我正在使用for循环,因为数据框可能随列数而变化.这是可能的数据帧的示例.
lexicon <- data.frame(
X.lx = c("word", "word2", "word3"),
X.ph = c("phonetic", "", "phonetic2")
)
Run Code Online (Sandbox Code Playgroud)
我设法创建一个循环,它接受列的名称并将其附加到数据点(数据存储在数据框中lexicon:
for(i in names(lexicon)){
lexicon[[i]] <- sub("^", paste(names(lexicon[i]), " ", sep=""), lexicon[[i]])
}
Run Code Online (Sandbox Code Playgroud)
这会产生:
X.lx X.ph
1 X.lx word X.ph phonetic
2 X.lx word2 X.ph
3 X.lx word3 X.ph phonetic2
Run Code Online (Sandbox Code Playgroud)
我试图设置循环,如数据框中的空数据点被跳过sub(),但没有成功.期望的输出将是
X.lx X.ph
1 X.lx word X.ph phonetic
2 X.lx word2
3 X.lx word3 X.ph phonetic2
Run Code Online (Sandbox Code Playgroud)
这是我的试用代码:
for(i in names(lexicon)){
lexicon[[i]][which(lexicon[[i]] != "")] <- sub("^", paste(names(lexicon[i]), " ", sep=""), lexicon[[i]][which(lexicon[[i]] != …Run Code Online (Sandbox Code Playgroud) 我是 R 的新手,我不知道如何让 R 计算子组的平均值,而子组本身就是子组的平均值。我会解释得更清楚。
我有一个像这样的数据框:
GROUP WORD WLN
1 1 4
1 1 3
1 1 3
1 2 2
1 2 2
1 2 3
2 3 1
2 3 1
2 3 2
2 4 1
2 4 1
2 4 1
... ... ...
Run Code Online (Sandbox Code Playgroud)
但真实的一共有5组25个单词(每组5个单词;每个单词都被5个受试者分配了1到4的数字......)。
我需要获取每个单词的 WLN 平均值,我可以使用循环轻松完成此操作并将结果保存在向量中;但然后我需要一个向量,其中根据单词所属的组来表示这些平均值...所以我需要第1组的单词的平均值,然后是第2组的单词的平均值...(我不知道不知道我是否说清楚了)。
如果不一组一组地做,我怎样才能得到这个呢?