我试图创建一个圆柱形的tibble,其中每一行都是一个向量中的单个单词,但我不确定如何添加列名,因为尚未创建tibble。
此代码:
as_tibble(strsplit("this is a test" , " "))
返回错误:
Error: Column 1 must be named
如何命名第1列?
我试图为
的结果添加名称strsplit("this is a test" , " ")
但这是一个字符串,因此无法命名?
[[1]] [1]"这个" "是" "" "测试"
答案 0 :(得分:1)
隔离创建列表的第一个元素:
as_tibble(strsplit("this is a test" , " ")[[1]])
或列出您的列表元素:
ls=strsplit("this is a test" , " ")
names(ls)="test_tibble"
as_tibble(ls)
答案 1 :(得分:1)
如果你想要一个列名x:
,我会将strsplit转换为一个列表as_tibble(list(x = (strsplit("this is a test" , " "))[[1]]))
# A tibble: 4 x 1
x
<chr>
1 this
2 is
3 a
4 test
答案 2 :(得分:0)
您可以这样做:
> strsplit("this is a test" , " ") %>% as_tibble(validate=F)
# A tibble: 4 x 1
``
<chr>
1 this
2 is
3 a
4 test
或者您可以做某事:
> strsplit("this is a test" , " ") %>% map(as_tibble) %>% bind_rows
# A tibble: 4 x 1
value
<chr>
1 this
2 is
3 a
4 test
这很有用,因为有时您需要一个默认的列名才能执行更复杂的列表操作