「A」と「B」の2つのサンプルから発生したイベントを表すベクトルの名前付きリストがあります。
l.temp <- list(
SF1_t_A = c(rep(1:10)),
SF2_t_A = c(rep(9:15)),
SF1_t_B = c(rep(8:12)))
l.temp
$SF1_t_A
[1] 1 2 3 4 5 6 7 8 9 10
$SF2_t_A
[1] 9 10 11 12 13 14 15
$SF1_t_B
[1] 8 9 10 11 12
ここで、サンプル「A」または「B」のいずれかからのリストの要素のみを選択します。ループを使ってそれを行うこともできますが、そのようなものは、plyrが存在するときにlistを使用するという点に反します。これとバリエーションは、私がこれまでに試したことです。
llply(l.temp , function(l){
if ((unlist(strsplit(names(l), "_"))[3]) == "A"){
return(l)}
})
これは私が得ているエラーです:
Error in unlist(strsplit(names(l), "_")) :
error in evaluating the argument 'x' in selecting a method for function 'unlist':
Error in strsplit(names(l), "_") : non-character argument
私が間違っていることについての助けをいただければ幸いです。