Я пытаюсь разделить 1-й столбец на основе разделителя ("_") в df.
country_city_gender_age_name_state =c("US_Dallas_Male_23_hanes_TX","US_LosAngeles_CA",
"US_Atlanta_Female_jenny_GA","US_Orlando_kane_FL")
df = data.frame(country_city_gender_age_name_state)
I-я строка перед 1-м разделителем, 2-я строка после 1-го разделителя и последняя строка перед последним разделителем являются постоянными
Согласно приведенному выше утверждению
в строке_1: все строки разделены на основе разделителя и разделителей no.of: 5
row_2: разделитель 2,3,4 отсутствует, поэтому значения являются пустыми, а разделители no.of -2
row_3: разделитель 3 отсутствует, поэтому значения являются пустыми и разделители no.of отсутствуют 4
row_4: разделитель 2,3 отсутствует, поэтому значения пусты и разделители no.of составляют 3
Я пробовал с приведенным ниже кодом.
df$country<- sapply(strsplit(as.character(df$country_city_gender_age_name_state),"_"), "[",1)
df$city<- sapply(strsplit(as.character(df$country_city_gender_age_name_state),"_"), "[",2)
df$gender<- sapply(strsplit(as.character(df$country_city_gender_age_name_state),"_"), "[",3)
df$age<- sapply(strsplit(as.character(df$country_city_gender_age_name_state),"_"), "[",4)
df$name<- sapply(strsplit(as.character(df$country_city_gender_age_name_state),"_"), "[",5)
df$state<- sapply(strsplit(as.character(df$country_city_gender_age_name_state), "_"), tail, 1)
Желаемый выходной кадр данных будет
country = c("US","US","US","US")
city = c("Dallas","LosAngeles","Atlanta","Orlando")
gender = c("Male","","Femal","")
age = c("23","","","")
name = c("hanes","","Jenny","kane")
state = c("TX","CA","GA","FL")
out_df = data.frame(country_city_gender_age_name_state,country,city,gender,age,name,state)
Заранее спасибо