データフレームが与えられたら、strsplit
を私の列の1つに使用して、ベクトルの最初の要素を返します。次に例を示します。サプリー関数の出力をサブセット化する方法
testdf<- data.frame(col1= c('string1.string2', 'string3.string4'),
col2= c('somevalue', 'someothervalue'),
stringsAsFactors = FALSE)
私は次のことを試してみました、このような testdf$col3 <- c('string1', 'string3')
として新しい列を生成したい:
もちろん、動作しない、testdf$col3<- strsplit(testdf$col1, split = '\\.')[[1]])[1]
。これは、出力の最初の要素( 'string1')だけを返し、列全体に対して書き込みます。
customfx<- function(ind_cell){
my_out<- strsplit(ind_cell, split = '\\.')[[1]][1]
return(my_out)}
その後sapply
でそれを使用します。 一つの解決策は、カスタム関数を記述することです。私はこれに代わるものがあるのだろうかと思っていた。話スティックはあなた次第です:)
目的の出力を明確にするために例を編集 – madmaxthc
'testdf $ col3 < - sapply(strsplit(testdf $ col1、split = '\\。')、\' [\ '、1)' – MrFlick
を見てください'tidyr :: separate' – HubertL