小编pal*_*czy的帖子

dplyr summarise_each与na.rm

有没有一种方法,以指导dplyr使用summarise_eachna.rm=TRUE?我想采用变量的均值,summarise_each("mean")但我不知道如何指定它来忽略缺失值.

r dplyr

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

将多个函数应用于data.table中的多个列

我正在尝试将多个函数应用于a的多个列data.table.例:

DT <- data.table("a"=1:5,
                 "b"=2:6,
                 "c"=3:7)
Run Code Online (Sandbox Code Playgroud)

比方说,我想要得到的平均值和列的中位数ab.这有效:

stats <- DT[,.(mean_a=mean(a),
               median_a=median(a),
               mean_b=mean(b),
               median_b=median(b))]
Run Code Online (Sandbox Code Playgroud)

但这太重复了.有没有一种很好的方法来使用.SDcols和获得类似的结果lapply

r data.table

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

dplyr - 如何选择某种类型的列

有没有简洁的方法来选择特定类型的列dplyr?例如,如何选择dplyr链中的所有字符列?

r dplyr

19
推荐指数
4
解决办法
8075
查看次数

在R中测试:在测试文件中采购

我正在使用testthatR中的包,我正在尝试测试文件中定义的函数example.R.此文件包含一个调用source("../utilities/utilities.R"),其中包含utilities.R由我编写的函数的文件.但是,当我尝试测试函数时example.R,在测试脚本中获取它会产生以下错误:

Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
  cannot open file '../utilities/utilities.R': No such file or directory
Run Code Online (Sandbox Code Playgroud)

您能否澄清一下如何在源自另一个文件的文件中运行函数测试?

r testthat

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

data.table - 选择组中的前n行

虽然很简单,但我不知道data.table在数据表中选择组中前n行的解决方案.你能帮帮我吗?

r data.table

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

R中的data.table - 使用多个键的多个过滤器 - 二进制搜索

我不明白我如何根据多个键进行过滤data.table.采用内置mtcars数据集.

DT <- data.table(mtcars)
setkey(DT, am, gear, carb)
Run Code Online (Sandbox Code Playgroud)

小插图之后,我知道如果我想要过滤相应的am == 1 & gear == 4 & carb == 4,我可以说

> DT[.(1, 4, 4)]
   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1:  21   6  160 110  3.9 2.620 16.46  0  1    4    4
2:  21   6  160 110  3.9 2.875 17.02  0  1    4    4
Run Code Online (Sandbox Code Playgroud)

它给出了正确的结果.此外,如果我想拥有am == 1 & gear == 4 & (carb == 4 | carb …

r data.table

15
推荐指数
2
解决办法
9240
查看次数

dplyr - 多个变量的汇总表

如何使用dplyr多个变量创建简单的摘要统计?使用该summarise_each函数似乎是要走的路,但是,当将多个函数应用于多个列时,结果是一个宽的,难以读取的数据帧.

r dplyr

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

R data.table fread-读取列为日期

我想读一个文件freaddata.table具有与“YYYY-MM-DD”格式的日期列。默认情况下,fread将列读取为chr。但是,我希望将列设置为Date,与应用时获得的方式相同as.Date

我尝试使用

dt[,starttime.date := as.Date(starttime.date)]
Run Code Online (Sandbox Code Playgroud)

但是运行需要很长时间(我大约有4300万行)。

r data.table

9
推荐指数
1
解决办法
5885
查看次数

data.table - 基于名称为列的变量的子集

这可能有点奇怪,但是当data.table我在使用其用于过滤的参数的函数内时,我经常遇到这种情况.

想象一下,你有一个变量的值,你想要比较一个data.table列和进行过滤.如果变量的名称与列的名称相同怎么办?

我试过的例子和事情:

DT <- data.table(mtcars)
cyl <- 4
# intended: filter rows where column "cyl" equals the value of variable cyl

# this does not work
DT[cyl == (cyl)]
# this does not work either
DT[cyl == `cyl`]
Run Code Online (Sandbox Code Playgroud)

r data.table

6
推荐指数
2
解决办法
607
查看次数

熊猫 - 与相同类别的列连接变成对象

我想通过首先将缺少的类别添加到每列来连接两个具有类别类型列的数据框。

df = pd.DataFrame({"a": pd.Categorical(["foo", "foo", "bar"]), "b": [1, 2, 1]})
df2 = pd.DataFrame({"a": pd.Categorical(["baz"]), "b": [1]})

df["a"] = df["a"].cat.add_categories("baz")
df2["a"] = df2["a"].cat.add_categories(["foo", "bar"])
Run Code Online (Sandbox Code Playgroud)

理论上,两"a"列的类别是相同的:

In [33]: df.a.cat.categories
Out[33]: Index(['bar', 'foo', 'baz'], dtype='object')

In [34]: df2.a.cat.categories
Out[34]: Index(['baz', 'foo', 'bar'], dtype='object')
Run Code Online (Sandbox Code Playgroud)

但是,当连接两个数据框时,我得到一个object-type"a"列:

In [35]: pd.concat([df, df2]).info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 4 entries, 0 to 0
Data columns (total 2 columns):
a    4 non-null object
b    4 non-null int64
dtypes: int64(1), object(1)
memory usage: 96.0+ bytes …
Run Code Online (Sandbox Code Playgroud)

python pandas

6
推荐指数
1
解决办法
1260
查看次数

标签 统计

r ×9

data.table ×5

dplyr ×3

pandas ×1

python ×1

testthat ×1