Tôi muốn lấy dữ liệu của mẫu
before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2'))
attr type
1 1 foo_and_bar
2 30 foo_and_bar_2
3 4 foo_and_bar
4 6 foo_and_bar_2
và sử dụng split()
trên cột " type
" từ trên để có được một cái gì đó như thế này:
attr type_1 type_2
1 1 foo bar
2 30 foo bar_2
3 4 foo bar
4 6 foo bar_2
Tôi đã nghĩ ra một thứ phức tạp không thể tin được liên quan đến một số hình thức apply
hoạt động, nhưng từ đó tôi đã đặt nhầm chỗ. Nó dường như quá phức tạp để trở thành cách tốt nhất. Tôi có thể sử dụng strsplit
như dưới đây, nhưng sau đó không rõ làm thế nào để lấy lại thành 2 cột trong khung dữ liệu.
> strsplit(as.character(before$type),'_and_')
[[1]]
[1] "foo" "bar"
[[2]]
[1] "foo" "bar_2"
[[3]]
[1] "foo" "bar"
[[4]]
[1] "foo" "bar_2"
Cảm ơn cho bất kỳ con trỏ. Tôi chưa hoàn toàn mò mẫm danh sách R.
left_right <- str_split_fixed(as.character(split_df),'\">',2)