小编Dav*_*urg的帖子

如何重置行名?

这是一个示例数据集:

sample1 <- data.frame(Names=letters[1:10], Values=sample(seq(0.1,1,0.1)))
Run Code Online (Sandbox Code Playgroud)

当我重新排序数据集时,我正在丢失行名称顺序

sample1[order(sample1$Values), ]
    Names Values
 7      g    0.1
 4      d    0.2
 3      c    0.3
 9      i    0.4
10      j    0.5
 5      e    0.6
 8      h    0.7
 6      f    0.8
 1      a    0.9
 2      b    1.0
Run Code Online (Sandbox Code Playgroud)

期望的输出:

    Names Values
 1      g    0.1
 2      d    0.2
 3      c    0.3
 4      i    0.4
 5      j    0.5
 6      e    0.6
 7      h    0.7
 8      f    0.8
 9      a    0.9
10      b    1.0
Run Code Online (Sandbox Code Playgroud)

r

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

计算符合条件的行数

我在R中寻找一个等同于这个SQL语句的命令.我希望这是一个非常简单的基本解决方案,而不使用复杂的函数或dplyr类型的包.

Select count(*) as number_of_states 
  from myTable
where  sCode = "CA"
Run Code Online (Sandbox Code Playgroud)

所以基本上我会计算与我的where条件相匹配的行数.

我已经将一个csv文件作为数据框导入mydata.到目前为止,我已经尝试过这些无效.

  1. nrow(mydata$sCode == "CA") ## ==>> returns NULL

  2. sum(mydata[mydata$sCode == 'CA',], na.rm=T) ## ==>> gives Error in FUN(X[[1L]], ...) : only defined on a data frame with all numeric variables

  3. sum(subset(mydata, sCode='CA', select=c(sCode)), na.rm=T) ## ==>> FUN(X[[1L]], ...) : only defined on a data frame with all numeric variables

  4. sum(mydata$sCode == "CA", na.rm=T) ## ==>> returns count of all rows in the entire data set, which is not …

r

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

:=(通过引用传递)data.table包中的运算符同时修改另一个数据表对象

在测试我的代码时,我发现了以下内容:如果我将data.table分配DT1DT并在DT之后进行DT1更改,则使用它进行更改.所以DT,DT1似乎是内部联系的.这是预期的行为吗?虽然我不是编程专家,但这对我来说是错误的,并且用简单的R变量或a来测试它data.frame,我无法重现这种行为.这里发生了什么事?

DF <- data.frame(ID=letters[1:5],
                  value=1:5)
DF1 <- DF
all.equal(DF1, DF)
[1] TRUE
DF[1, "value"] <- DF[1, "value"]*2
all.equal(DF1, DF)
[1] "Component 2: Mean relative difference: 1"

library(data.table)
data.table 1.7.1  For help type: help("data.table")
DT <- data.table(ID=letters[1:5],
                  value=1:5)
DT1 <- DT
all.equal(DT1, DT)
[1] TRUE
DT[, value:=value*2]
     ID value
[1,]  a     2
[2,]  b     4
[3,]  c     6
[4,]  d     8
[5,]  e    10
all.equal(DT1, DT)
[1] …
Run Code Online (Sandbox Code Playgroud)

r pass-by-reference data.table

27
推荐指数
1
解决办法
2554
查看次数

存储和使用对内存来说太大的数据帧的最佳做法?

我正在使用大型数据框,并且已经遇到RAM限制.此时,我可能需要在磁盘上使用序列化版本.有一些软件包支持内存不足的操作,但我不确定哪一个适合我的需求.我宁愿将所有内容保存在数据框中,因此ff包看起来很令人鼓舞,但仍然存在兼容性问题,我无法解决.

当您意识到数据已经达到内存不足时,第一个可以实现的工具是什么?

r out-of-memory

23
推荐指数
1
解决办法
6577
查看次数

`names(df [1])< - `和`names(df)[1] < - `之间的区别

考虑以下:

df <- data.frame(a = 1, b = 2, c = 3)
names(df[1]) <- "d" ## First method
##  a b c
##1 1 2 3

names(df)[1] <- "d" ## Second method
##  d b c
##1 1 2 3
Run Code Online (Sandbox Code Playgroud)

这两种方法都没有返回错误,但第一次没有更改列名,而第二次没有.

我认为它与我只在一个子集上运行的事实有关df,但为什么,例如,以下工作正常呢?

df[1] <- 2 
##  a b c
##1 2 2 3
Run Code Online (Sandbox Code Playgroud)

r dataframe

23
推荐指数
1
解决办法
1606
查看次数

如何使用?删除字符向量内的单词之间的额外空格?

假设我有一个像

"Hi,  this is a   good  time to   start working   together.". 
Run Code Online (Sandbox Code Playgroud)

我只想拥有

" Hi, this is a good time to start working together." 
Run Code Online (Sandbox Code Playgroud)

两个单词之间只有一个空格.我应该怎么做R?

regex r

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

如何更改符号文件(pdb)中源文件的位置

基本上我想要这样做:pdb文件包含源文件的位置(例如C:\dev\proj1\helloworld.cs).是否可以修改该pdb文件以使其包含不同的位置(例如\more\differenter\location\proj1\helloworld.cs)?

debugging symbols pdb-files

21
推荐指数
2
解决办法
9378
查看次数

匹配多个模式

我想看看,如果"001"还是"100"还是"000"在4个字符的字符串发生01.例如,4个字符的字符串可以是"1100""0010""1001""1111".如何使用单个命令匹配字符串中的许多字符串?

我知道grep可以用于模式匹配,但是使用grep,我一次只能检查一个字符串.我想知道多个字符串是否可以与其他命令一起使用或者与grep本身一起使用.

regex grep r pattern-matching

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

如何将我的日期变量分组到R中的月/年?

我有一个"日期"向量,其中包含以mm/dd/yyyy格式表示的日期:

 head(Entered_Date,5)
[1] 1/5/1998 1/5/1998 1/5/1998 1/5/1998 1/5/1998
Run Code Online (Sandbox Code Playgroud)

我试图根据日期绘制频率变量,但我想按月或年分组日期.就像现在一样,每天有一个频率,但我想按月或年绘制频率.因此,对于1/5/1998,1为1/7/1998和3为1/8/1998,频率为1,我想将其显示为1为1/1998.这是一个相对较大的数据集,从1998年到现在的日期,我想找到一些自动化的方法来实现这一目标.

> dput(head(Entered_Date))
structure(c(260L, 260L, 260L, 260L, 260L, 260L), .Label = c("1/1/1998", 
"1/1/1999", "1/1/2001", "1/1/2002", "1/10/2000", "1/10/2001", 
"1/10/2002", "1/10/2003", "1/10/2005", "1/10/2006", "1/10/2007", 
"1/10/2008", "1/10/2011", "1/10/2012", "1/10/2013", "1/11/1999", 
"1/11/2000", "1/11/2001", "1/11/2002", "1/11/2005", "1/11/2006", 
"1/11/2008", "1/11/2010", "1/11/2011", "1/11/2012", "1/11/2013", 
"1/12/1998", "1/12/1999", "1/12/2001", "1/12/2004", "1/12/2005", ...
Run Code Online (Sandbox Code Playgroud)

plot grouping r

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

不使用`not`命令检查列表是否为空

如何在不使用not命令的情况下查明列表是否为空?
这是我尝试过的:

if list3[0] == []:  
    print "No matches found"  
else:  
    print list3
Run Code Online (Sandbox Code Playgroud)

我是一个初学者,所以如果我犯了愚蠢的错误,请原谅.

python list is-empty

20
推荐指数
2
解决办法
7万
查看次数