作者jklkj (诚实可靠小郎君)
看板R_Language
标题[问题] 要如何将$之後字串用回圈写
时间Fri Apr 14 11:58:09 2017
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
请把以下不需要的部份删除
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我目前用RPostgreSQL把资料库的资料抓下来,但是只要是中文的栏位都变成乱码
我想用比较简单的方法把UTF8转成big5
[程式范例]:
df$addr <- iconv(df$addr, "UTF8", "big5")
如上述,我目前是用iconv一个一个转,想请问一下我要怎麽把回圈写进$之後
或是可以告诉我关键字或概念
或是有没有更简便的方法
[环境叙述]:
请提供 sessionInfo() 的输出结果,
里面含有所有你使用的作业系统、R 的版本和套件版本资讯,
让版友更容易找出错误
[关键字]:
选择性,也许未来有用
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.23.167.43
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1492142292.A.C75.html
1F:→ chitaiwar: df$addr <- sapply(df$addr, function(x) iconv(x, 04/14 12:04
2F:→ chitaiwar: 'UTF8', 'big5')) 小弟不才 尝试解 有错请指正 04/14 12:06
3F:→ cywhale: 何不试试看抓资料回来时就让它是正确的编码?也许可行 04/14 12:16
4F:→ cywhale: dbGetQuery(conn, "set client_encoding to 'Big5'") 04/14 12:16
5F:→ cywhale: then dbReadTable(conn, "YourTableName") 04/14 12:17
6F:→ Wush978: 用`[[`, ex: df[["addr"]] 04/14 13:30
7F:→ joedenkidd: 这样单栏可处理 df$addr,想请问要如何处理整个导进来 04/14 13:56
8F:→ joedenkidd: 的table? 04/14 13:56
9F:推 RogerHsieh99: for i in c(1:length(df)){ 04/14 14:15
10F:→ RogerHsieh99: df[i] <- iconv(df[i], "UTF8", "big5")} 04/14 14:15
11F:→ RogerHsieh99: 小弟也是新手,不晓得有没有解决到你的问题 04/14 14:16
12F:→ joedenkidd: for(x in c(1:16)){ res[[x]]=iconv(res[[x]],"UTF8" 04/14 14:37
13F:→ joedenkidd: ,"CP950") } 04/14 14:37
14F:→ celestialgod: data.table: DT[ , lapply(.SD, function(x){ 04/14 22:19
15F:→ celestialgod: iconv(x,"UTF8", "BIG5")}] 04/14 22:20
16F:→ celestialgod: dplyr: DF %>% mutate_each(funs(iconv(., "UTF8", 04/14 22:20
17F:→ celestialgod: "BIG5"))) 04/14 22:21
18F:→ celestialgod: 如果要限定character column可以使用 mutate_if 04/14 22:21
19F:→ celestialgod: DF %>% mutate_if(is.character, funs(iconv(., 04/14 22:23
20F:→ celestialgod: "UTF8", "BIG5"))) 04/14 22:23
21F:→ celestialgod: 我应该回一篇文章的Orz 04/14 22:23