楼主: yue86231
19420 13

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

11
felixzhao123 发表于 2016-7-8 07:45:14
借用一点楼上的代码,提供一个不同的方法,用tidyr和dplyr这个问题也可以解决
  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. require(dplyr)
  7. require(tidyr)
  8. roster <- roster%>%
  9.   separate(Student,c("FirstName","LastName"),sep = " ")
  10. head(roster)
复制代码

已有 1 人评分论坛币 学术水平 热心指数 收起 理由
admin_kefu + 25 + 5 + 2 热心帮助其他会员

总评分: 论坛币 + 25  学术水平 + 5  热心指数 + 2   查看全部评分

12
祝小二 发表于 2017-12-14 08:13:42
我使用的Ri386 3.4.2name<-strsplit(Student,"")
name,返回的是 "j" "o" "h" "n" " " "d" "a" "v" "i" "s"
而不是“John” "Davis"
也不是"J" "o" "h" "n" " " "D" "a" "v" "i" "s"

13
祝小二 发表于 2017-12-14 08:15:53
然后辅助“qoiqpwqr”的代码
返回的和我之前的是一样的结果,
请问“qoiqpwqr”,是因为代码错误的问题,还是R语言版本的问题,还是数据包没有装全?
谢谢

14
Akun0315 发表于 2019-6-3 18:15:42
首先将Student <- as.character(Student)转化为字符串,然后roster<-data.frame(Student, Math, Science, English, stringAsFactors=FALSE)

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

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