全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7315 4
2017-09-06
我的数据框中有一列包括了很多信息,已经以空格隔开,我想将这一列数据分割成其他列,即一个原来2列的数据框变为8列
百度和学习了一下strsplit()函数之后遇到了问题:
1、strsplit只能对字符串进行分割,是不是意味着无法对整个数据框进行操作,必须借助循环?
2、用as.character()对数据框转换后数据框为啥变成了1?对字符框内容转换后仍显示无法分割是为啥子?
3、是否有更为合适的函数来进行这种操作?

问题2.1
> K<- data.frame(c('i have never seen a beauty like you'))
> K<- as.character(K)
> strsplit(K,split =" ")
[[1]]
[1] "1"


问题2.2
K<- data.frame(c('i have never seen a beauty like you'))
> K[1,1]<- as.character(K[1,1])
> strsplit(K[1,1],split =" ")
Error in strsplit(K[1, 1], split = " ") : non-character argument


谢谢各位大神了!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-9-6 20:24:41
首先确定每个content都可以被分成8个部分

data <- data.frame(a=1:2,b=c("a b c d e f g h","h i j k l m n"))

2nd_column <- data[,2]

add_data <- sapply(2nd_column, fucntion(x)  strsplit(x," ")[[1]][1:8] )

add_data <- t(add_data)

final_data <- cbind(data,add_data)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-7 08:18:31
直接用tidyr里的separate函数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-7 09:16:46
katymeala 发表于 2017-9-6 20:24
首先确定每个content都可以被分成8个部分

data
首先谢谢大神!
其次Rstudio跑这段为何行行标红 unexpected symbol。。。是我没安装什么包吗。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-7 09:21:22
飞天玄舞6 发表于 2017-9-7 08:18
直接用tidyr里的separate函数
谢谢大神!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群