作者celestialgod (天)
看板R_Language
标题Re: [问题] for loop 回圈命名变数
时间Fri Oct 21 20:23:18 2016
※ 引述《pinlateng (中肯不嘴炮)》之铭言:
: [问题类型]:
: 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
: [软体熟悉度]:
: 新手(没写过程式,R 是我的第一次)
: [问题叙述]:
: 我现在将一份问卷汇入到 R 之後,希望依照某行的数值加以分类,再将分类结果
: 用回圈命名以便後续处理
: [程式范例]:
: 有个 data frame:data
: 里头有一行 column_a,值是 1~5
: 现在想以 column_a 的数值为条件将特定列抓出来指定成一个变数
: 也就是把
: column_a_1 <- data[data$column_a == 1,]
: column_a_2 <- data[data$column_a == 2,]
: .
: .
: .
: 浓缩成类似这样的感觉:
: for (x in c(1:5)){
: column_a[x] <- data[data$column_a == x,]
: }
: [环境叙述]:
:
: R version 3.3.1 (2016-06-21)
: Platform: x86_64-w64-mingw32/x64 (64-bit)
: Running under: Windows >= 8 x64 (build 9200)
: [关键字]:
: 回圈 变数 命名
不建议这麽做,我建议下面的做法
dataList <- split(data, data$column_a)
for (i in 1:length(dataList)){
# do something with dataList[[i]]
}
至於你要的做法,自行?assign或是eval + parse
--
R资料整理套件系列文:
magrittr #1LhSWhpH (R_Language) https://goo.gl/OBto1x
data.table #1LhW7Tvj (R_Language) https://goo.gl/QFtp17
dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/GcfNoP
tidyr #1Liqls1R (R_Language) https://goo.gl/pcq5nq
pipeR #1NXESRm5 (R_Language) https://goo.gl/cDIzTh
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.235.91.146
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1477052610.A.1AD.html
1F:推 pinlateng: 好的,我来试试看。谢谢! 10/21 23:51