Я пытаюсь изменить содержание определенного c кулмна в списке фреймов данных в R, который был сконструирован так:
# Generating a filelist for all summary.txt files that are 3 subdirectories deep from the pwd
filelist = grep(Sys.glob(paste(getwd(), "/*/*/*/*.txt", sep = "")),pattern = "summary.txt", invert = TRUE, value = TRUE )
# Reading in all data files
cazys = lapply(filelist, read.csv, header = TRUE, sep = "\t")
типичный один из фреймов данных будет выглядеть следующим образом :
fam group Functions
AA2 3 1.11.1.13:70,
Я хочу разделить столбец «Функции» на «:», чтобы удалить «: 70» и аналогичные для каждого кадра данных в списке. Я пробовал следующее:
# Correcting the EC number column
fixed_EC = lapply(cazys, function(x){
x$Functions = strsplit(as.character(x$Functions), ":", fixed = TRUE)[[1]][1]
} )
Но это только возвращает результат strplit
, а не alterd dataframe. однако когда я использую эту команду за пределами apply
, она дала желаемые результаты. Как я могу заставить это работать внутри apply
функции?