多くの列の列名が名前に含まれる大きなデータフレームがあります.
。以下の例での私のアプローチは次のとおりです。
#this somewhat resembles what we have in hand
df <- data.frame(id= c("HD1", "HD2", "HD3", "HD4"),
mon.1= c(1, 0, 1, 4),
mon.2= c("a", "b", "c", "d"),
mon.2.4.1...1= c("#ji", "#ki", NA, "#ui"),
tue.6= c("1", "2", "3", "4"),
tue= c(190, 2345, 41, 89),
heh= c("1mn", "2a", "g78", "asd324"),
wed= c(1890, 9002, 14341, 657),
wed.01= c(NA, "@ksdf", NA, NA),
thu.0234= c("@jksdff", "@sfd", "@kukg.676", "@jdkfjk"),
rating= c(1,2,3,4))
#in order to collapse the columns, we can apply a mapply variant
#here i attach a new column to original df named combined1 which collapses all mon.....
df<- within(df,
combined1 <- Map(list, as.character(mon.1),
as.character(mon.2),
as.character(mon.2.4.1...1)))
#process repeats for others
df <- within(df,
combined2 <- Map(list, as.character(tue.6),
as.character(tue)))
df <- within(df,
combined3 <- Map(list, as.character(wed),
as.character(wed.01)))
カンマ区切りの列Combined1
, Combined2
, Combined3
:
# A tibble: 4 x 14
id mon.1 mon.2 mon.2.4.1...1 tue.6 tue heh wed wed.01 thu.0234 rating
<fct> <dbl> <fct> <fct> <fct> <dbl> <fct> <dbl> <fct> <fct> <dbl>
1 HD1 1 a #ji 1 190 1mn 1890 NA @jksdff 1
2 HD2 0 b #ki 2 2345 2a 9002 @ksdf @sfd 2
3 HD3 1 c NA 3 41 g78 14341 NA @kukg.6~ 3
4 HD4 4 d #ui 4 89 asd3~ 657 NA @jdkfjk 4
# ... with 3 more variables: combined1 <named list>, combined2 <named list>,
# combined3 <named list>
私の問題は、 の列が約 20 ~ 30 あることです。たとえば、 、 などのすべてを読み取るメソッドの作成にmon
問題tue
があります。手動で入力する必要はありません。ご協力をお願いします。wed
wed
wed1.43654
wed.46
編集 このようなもの
> df[,11:14]
rating combined1 combined2 combined3
1 1 1, a, #ji 1, 190 1890, NA
2 2 0, b, #ki 2, 2345 9002, @ksdf
3 3 1, c, NA 3, 41 14341, NA
4 4 4, d, #ui 4, 89 657, NA