小编use*_*783的帖子

基于列名称的部分匹配的子集数据

我需要将df子集以包含某些字符串.其中一些是完整的列名称,以下工作正常:

testData[,c("FullColName1","FullColName2","FullColName3")]
Run Code Online (Sandbox Code Playgroud)

我的问题是我需要扩展它以包含包含特定字符串的列名,这些字符串可能与其他一些列名称部分匹配.这些字符串包括字母和符号:

"PartString1()","PartString2()"
Run Code Online (Sandbox Code Playgroud)

我尝试在这些周围加上通配符.(我在下面用前缀"star"表示,因为"*"符号没有正确呈现.)

testData[ ,c("FullColName1","FullColName2","FullColName3",
             "starPartString1()star","starPartString2()star")]
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息:选择了未定义的列.我无法弄清楚是否需要grep来完成这项工作.

r subset

17
推荐指数
2
解决办法
4万
查看次数

将排名列添加到数据框

这似乎是一个非常常见的任务,但我无法在谷歌或SO中找到解决方案.我想根据'order.scores'应用于'dat'的顺序,将一个名为'rank'的列添加到'dat1'.我尝试使用row.names(),但是rownames基于'dat',而不是'dat1'.我也试过'dat $ rank <-rank(dat1)',但这会产生错误信息.

fname<-c("Joe", "Bob", "Bill", "Tom", "Sue","Sam","Jane","Ruby")
score<-c(500, 490, 500, 750, 550, 500, 210, 320)
dat<-data.frame(fname,score)
order.scores<-order(dat$score,dat$fname)
dat1<-dat[order.scores,]
Run Code Online (Sandbox Code Playgroud)

r ranking

9
推荐指数
3
解决办法
2万
查看次数

rbind在match.names中产生错误(clabs,names(xi))

在2010年回答了类似的问题.它有12K的观点,但没有解决方案.这是帖子:

合并多个数据框 - match.names(clabs,names(xi))中的错误:名称与先前的名称不匹配

我从Facebook业务经理下载了格式相同的报告.但是当我尝试使用rbind(df1,df2)将它们组合时,我得到了

match.names(clabs,names(xi))出错:名称与以前的名称不匹配

通过诊断,我进行了比较

x <-names(df1)到y <-names(df2)

x和y是相同的,我还检查了object.size(x)和object.size(y),这些也是相同的.

gtools包中的smartbind函数似乎有效,但我想了解如何在基数R中解决这个问题.这是两个数据帧中每一个的两行:

> dput(df1)
structure(list(Campaign.Name = c("Bad Kitty Drawn to Trouble", 
"Bad Kitty Drawn to Trouble"), Results = c(0L, 0L), performance_indicator = c("", 
""), Reach = c(17465L, 29848L), Cost.per.Result..USD. = c(0, 
0), Amount.Spent..USD. = c(10.48, 35.83), Ends = c("2014-02-03", 
"2014-02-03"), adgroup_id = c(NA, NA), Button.Clicks = c(0L, 
0L), Campaign.ID = c(6014996473560, 6014996473560), campaign_id = c(NA, 
NA), campaign_name = c(NA, NA), Clicks = c(41L, 229L), Cost.Per.All.Actions..USD. = c(0.80615384615385, 
0.3852688172043), Cost.Per.Unique.Click..USD. = …
Run Code Online (Sandbox Code Playgroud)

r rbind

5
推荐指数
1
解决办法
9362
查看次数

如何用数字和字符列创建数据框?

我正在尝试建立一个由三个字符变量和一个数字变量组成的数据框。当我运行以下代码时,我得到了一个四列的矩阵,但是分数变量不再是数字,并且分数被视为因子。

school<-c("NYU", "BYU", "USC", "FIT", "UNH","UCLA","USF","Columbia")
state<-c("NY","UT","CA","NY","NY","CA", "CA","NY")
measure<-c("MSAT","MSAT","GPA","MSAT","MSAT","GPA","GPA","GPA")
score<-c(500, 490, 2.9, 759, 550, 1.2, 3.1, 3.2)
data<-cbind(school,state, measure,score)
Run Code Online (Sandbox Code Playgroud)

如果我跑步

data1<-data.frame(cbind(school,state, measure,score))
Run Code Online (Sandbox Code Playgroud)

我得到的数据帧score仍然是一个因素。如何建立这个数据框,使之score为数字?

r numeric dataframe cbind

4
推荐指数
1
解决办法
1万
查看次数

基于频率水平的子集

我想生成一个df,它选择与"ID"相关联的行,而"ID"又与一个名为cutoff的变量相关联.对于此示例,我将cutoff设置为9,这意味着我想在df1中选择其ID值与超过9行相关联的行.我的代码的最后一行生成了一个我不明白的df.正确的df将有24行,ID列中都有3行或4行.有人可以解释我的最后一行代码实际上在做什么并建议采用不同的方法吗?

set.seed(123)
ID<-rep(c(1,2,3,4,5),times=c(5,7,9,11,13))
sub1<-rnorm(45)
sub2<-rnorm(45)
df1<-data.frame(ID,sub1,sub2)
IDfreq<-count(df1,"ID")
cutoff<-9
df2<-subset(df1,subset=(IDfreq$freq>cutoff))
Run Code Online (Sandbox Code Playgroud)

r frequency subset

3
推荐指数
3
解决办法
7258
查看次数

如何在Mac的R版本3.2.1中安装ggp​​lot2

我刚刚下载了R和Rstudio的新Mac版本,但是当我尝试通过Rstudio界面安装ggp​​lot2时收到以下错误消息。有替代方法吗?

> install.packages("ggplot2")
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/src/contrib
Warning in install.packages :
  package ‘ggplot2’ is not available (for R version 3.2.1)
Installing package into ‘/Users/tom.glaser/Library/R/3.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/src/contrib
Warning in install.packages :
  package ‘ggplot2’ is not available (for R version 3.2.1)
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/bin/macosx/contrib/3.2
Warning message:
package ‘ggplot2’ is not available (for R version …
Run Code Online (Sandbox Code Playgroud)

install packages r ggplot2 osx-mountain-lion

3
推荐指数
1
解决办法
9353
查看次数