楼主: yue86231
19418 13

[问答] 用strsplit以空格为界将英文姓名拆分,出现错误提示non-character argument [推广有奖]

  • 1关注
  • 4粉丝

硕士生

17%

还不是VIP/贵宾

-

威望
0
论坛币
26 个
通用积分
0.0146
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
2417 点
帖子
114
精华
0
在线时间
131 小时
注册时间
2013-10-18
最后登录
2016-4-1

楼主
yue86231 学生认证  发表于 2014-12-2 23:29:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
建立一个新变量student
里面都是外国人名


\[Student<-c("john davis","agela williams", "bullwinkle moose","david jones","janice markhammer", "cheryl cushing", "reuven ytzhak", "greg knox", "joel england", "mary rayburn")\]

现在想使用以下函数将名字拆开

\[name<-strsplit((roster$Student)," ")\]

(上面那个函数里引号中间是个空格,不知道为什么发布帖子就看不到空格了)

结果出现错误提示:
\[Error in strsplit((roster$Student), " ") : non-character argument\]

我只能以空格来拆开这些人名,这可怎么办呢?




二维码

扫码加我 拉你入群

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

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

关键词:Character argument split 英文姓名 错误提示 英文姓名

liuyueanna.wordpress.com

沙发
qoiqpwqr 发表于 2014-12-3 03:37:30
发代码用那个代码选项

藤椅
qoiqpwqr 发表于 2014-12-3 03:40:36
用你的代码,没有任何问题

  1. > Student <− c("john davis","agela williams","bullwinkle moose","david jones","janice markhammer","cheryl cushing","reuvenyt zhak","greg knox","joe lengland","mary rayburn")
  2. > name <− strsplit(Student," ")
  3. > name
  4. [[1]]
  5. [1] "john"  "davis"

  6. [[2]]
  7. [1] "agela"    "williams"

  8. [[3]]
  9. [1] "bullwinkle" "moose"     

  10. [[4]]
  11. [1] "david" "jones"

  12. [[5]]
  13. [1] "janice"     "markhammer"

  14. [[6]]
  15. [1] "cheryl"  "cushing"

  16. [[7]]
  17. [1] "reuvenyt" "zhak"   

  18. [[8]]
  19. [1] "greg" "knox"

  20. [[9]]
  21. [1] "joe"      "lengland"

  22. [[10]]
  23. [1] "mary"    "rayburn"
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
tyson279 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
yue86231 学生认证  发表于 2014-12-3 16:46:00
qoiqpwqr 发表于 2014-12-3 03:40
用你的代码,没有任何问题
感谢回复。

我试了一下,如果只有student变量,这个函数就没有问题,但如果加入数据框,就又出现了标题中的那个错误提示

  1. Student<-c("john davis","agela williams", "bullwinkle moose","david jones","janice markhammer", "cheryl cushing", "reuven ytzhak", "greg knox", "joel england", "mary rayburn")
  2. Math<-c(502,600,412,358,495,512,410,625,573,522)
  3. Science<-c(95,99,80,82,75,85,80,95,89,86)
  4. English<-c(25,22,18,15,20,28,15,30,27,18)
  5. roster<-data.frame(Student, Math, Science, English, stringAsFactors=FALSE)

  6. name<-strsplit(roster$Student," ")
复制代码



liuyueanna.wordpress.com

报纸
qoiqpwqr 发表于 2014-12-3 20:23:03
你的这句语句错了
  1. roster<-data.frame(Student, Math, Science, English, stringAsFactors=FALSE)
复制代码


应该是
  1. roster<-data.frame(Student, Math, Science, English, stringsAsFactors=FALSE)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
李会超 + 3 + 2 + 2 精彩帖子

总评分: 学术水平 + 3  热心指数 + 2  信用等级 + 2   查看全部评分

地板
yue86231 学生认证  发表于 2014-12-3 20:46:14
qoiqpwqr 发表于 2014-12-3 20:23
你的这句语句错了
啊原来如此,我还纳闷为什么我多了一个变量来的……

非常、非常感谢!

7
nixuehua 发表于 2016-4-3 19:29:44
qoiqpwqr 发表于 2014-12-3 20:23
你的这句语句错了
两个语句有区别吗?我也遇到了相同的问题

8
qoiqpwqr 发表于 2016-4-3 21:05:30
nixuehua 发表于 2016-4-3 19:29
两个语句有区别吗?我也遇到了相同的问题
不是stringAsFactors,应该是stringsAsFactors,多个s

9
nixuehua 发表于 2016-4-4 12:07:09
qoiqpwqr 发表于 2016-4-3 21:05
不是stringAsFactors,应该是stringsAsFactors,多个s
哦,是的,非常感谢!

10
Rocky_xin 发表于 2016-7-7 23:37:54
qoiqpwqr 发表于 2014-12-3 20:23
你的这句语句错了
感谢楼主,我也遇到了同样的问题。

感谢层主,你的回答让我意识到自己错在哪了。

谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-23 23:33