【发布时间】:2015-11-24 16:14:43
【问题描述】:
我有一个数据框,我想使用我编写的名为“group1”的函数来转换第一列:
group1 <- function(x) {
temp <- strsplit(x,"_")[[1]][2]
temp <- gsub("Yellow", "", temp)
temp <- gsub("Blue", "", temp)
as.numeric(temp)
}
例如,将此函数应用于字符串“MHY_Blue23_Yellow16_11A”应该会产生结果 23。当输入只是一个字符串时确实会发生这种情况,但是当我尝试将此函数应用于字符向量时,出现了问题.我尝试使用“变换”使其适用于向量中的每个元素:
data_ling_RT2 <- transform(data_ling_RT, Group1 = group1(Code_Trials)))
但是,我没有得到一个名为“Group1”的新列依赖于“Code_Trials”中的相应元素的数据框,而是得到“Group1”中的所有元素仅基于“Code_Trials”的第一个元素”。我想这与我写“group1”的方式有关,但我找不到我做错了什么。 使用 ddply 更糟糕 - 有时我什至在“Group1”列中什么都没有......
非常感谢您的帮助!
【问题讨论】:
标签: r dataframe character transform plyr