PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
R_Language
Re: [问题] 挑出某些条件的数值做整理
楼主:
celestialgod
(天)
2017-04-22 23:06:35
※ 引述《smallpigpi (一勺子)》之铭言:
: [问题类型]:
: 程式询问(我想用R 做某件事情,但我不知道怎么用R写出来)
: [软件熟悉度]:
: 超级新手(没写过程式,R 是我的第一次)
: [问题叙述]:
: S.L S.W P.L P.W Species
: 49.0 30.0 14.000 2.0 setosa
: 5.6 2.9 3.600 1.3 versicolor
: 6.8 3.2 5.900 2.3 virginica
: 我想请问
: 如何挑出大于10的数值把它除于10
: 以及如何把每个数值统一显示小数点后一位
: 谢谢各位大大
: (手机排版,不知道会不会乱掉)
# data.table做法:
library(data.table)
irisDT <- data.table(iris)
irisDT[ , lapply(.SD, function(x){
if (is.numeric(x)) {
ifelse(x > 10, x / 10, x)
} else return(x)})]
# dplyr做法:
library(dplyr)
irisDT %>% mutate_if(is.numeric, funs(ifelse(. > 10, . / 10, .)))
# base函数解法:
evalExpr <- lapply(names(irisDT)[sapply(irisDT, is.numeric)],
function(x) bquote(ifelse(.(as.symbol(x)) > 10, .(as.symbol(x)) / 10,
.(as.symbol(x)))))
do.call(function(...) transform(irisDT, ...), evalExpr)
看一下这篇:
https://www.ptt.cc/bbs/R_Language/M.1492181442.A.5B4.html
统一显示小数点后一位的话:
print(iris, digits = 2)
作者:
smallpigpi
(一勺子)
2017-04-22 23:26:00
谢谢大大指点,不过不知为何我启动不了data.table
http://i.imgur.com/X1iF3SD.jpg
我原本是使用data.frame处理,也只学到这里XD除了data.table其它方法大概还啃不下。还是非常感谢
作者:
clansoda
(小笨)
2017-04-22 23:57:00
额,你知道有些library不是内建的吗你得install.packages("data.table")
作者:
smallpigpi
(一勺子)
2017-04-23 00:04:00
知道XD,图片里第一行有下载一次
作者:
clansoda
(小笨)
2017-04-23 00:06:00
我看到了
继续阅读
[问题] 挑出某些条件的数值做整理
smallpigpi
[问题] Rwordseg自定义词库
dustnight
[问题] 矩阵相乘与平行运算的问题
wheado
[分享] introduce to foreach + iterators
celestialgod
[问题] 以Mass中的lda分类资料
ms0344303
[问题] merge datasets
ataiwu
[问题] Roracle安装问题
giock18
[问题] 如何在地图上加上标签
mvp24213
Re: [问题] 二维的资料如何转换回一维
locka
[问题] 二维的资料如何转换回一维
chy0253350
Links
booklink
Contact Us: admin [ a t ] ucptt.com