Я munging данных, в частности, я открыл этот PDF http://pubs.acs.org/doi/suppl/10.1021/ja105035r/suppl_file/ja105035r_si_001.pdf и соскабливаю данные из таблицы s4,Подставляя результаты расчета
1a 1b 1a 1b
1 5.27 4.76 5.09 4.75
2 2.47 2.74 2.77 2.80
4 1.14 1.38 1.12 1.02
6 7.43 7.35 7.22-7.35a 7.25-7.36a
7 7.38 7.34 7.22-7.35a 7.25-7.36a
8 7.23 7.20 7.22-7.35a 7.25-7.36a
9(R) 4.16 3.89 4.12b 4.18b
9(S) 4.16 3.92 4.12b 4.18b
10 1.19 0.91 1.21 1.25
вставить его в блокнот и сохранил его как текстовый файл ,
s4 <- read.table("s4.txt", header=TRUE, stringsAsFactors=FALSE)
дает,
X1a X1b X1a.1 X1b.1
1 5.27 4.76 5.09 4.75
2 2.47 2.74 2.77 2.80
4 1.14 1.38 1.12 1.02
6 7.43 7.35 7.22-7.35a 7.25-7.36a
7 7.38 7.34 7.22-7.35a 7.25-7.36a
8 7.23 7.20 7.22-7.35a 7.25-7.36a
для того, чтобы использовать данные мне нужно изменить все это числовой и удалить буквы, благодаря этой ссылке R regex gsub separate letters and numbers я могу использовать следующий код,
gsub("([[:alpha:]])","",s4[,3])
Я могу избавиться от посторонних букв.
То, что я хочу сделать сейчас, и точка вопроса, является изменение диапазонов,
"7.22-7.35" "7.22-7.35" "7.22-7.35"
с их помощью,
"7.29"
Могу ли я использовать GSUB для этого? (или мне понадобится strsplit через дефис, объединить в вектор и вернуть среднее?).
спасибо (и спасибо другим участникам) некоторые полезные советы – user1945827