小编KFB*_*KFB的帖子

将data.frame转换为data.table列丢失

有这样的情况.试图将"mtcars"类从data.frame转换为data.table.

"mtcars"数据:

> mtcars
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Run Code Online (Sandbox Code Playgroud)

原始类是"data.frame".

> str(mtcars)
'data.frame':   32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ …
Run Code Online (Sandbox Code Playgroud)

r dataframe data.table

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

dplyr 0.3.0.2 rename()在加载reshape包时不正常

sessionInfo()
# R version 3.1.1 (2014-07-10)
# Platform: x86_64-apple-darwin10.8.0 (64-bit)
# 
# attached base packages:
#   [1] stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
#   [1] dplyr_0.3.0.2
# 
# loaded via a namespace (and not attached):
#   [1] assertthat_0.1 DBI_0.3.1      lazyeval_0.1.9 magrittr_1.0.1 parallel_3.1.1 Rcpp_0.11.3   
# [7] tools_3.1.1  
Run Code Online (Sandbox Code Playgroud)

当只加载dplyr 0.3.0.2时,默认的重命名习惯用法.

packageVersion("dplyr")
# [1] ‘0.3.0.2’
iris[1:10,] %>% rename(petal_length = Petal.Length)
#    Sepal.Length Sepal.Width petal_length Petal.Width Species
# 1           5.1         3.5          1.4         0.2  setosa
# 2           4.9         3.0 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

7
推荐指数
1
解决办法
8041
查看次数

dplyr 0.3.0.9000如何正确使用do()

试图在SO问题上重现结果: dplyr:如何对group_by的结果应用do()?

这是数据

person = c('Grace', 'Grace', 'Grace', 'Rob', 'Rob', 'Rob')
foods = c('apple', 'banana', 'cucumber', 'spaghetti', 'cucumber', 'banana')
eaten <- data.frame(person, foods, stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

我试图复制的结果是:

[[1]]
     [,1]     [,2]       [,3]      
[1,] "apple"  "apple"    "banana"  
[2,] "banana" "cucumber" "cucumber"

[[2]]
     [,1]        [,2]        [,3]      
[1,] "spaghetti" "spaghetti" "cucumber"
[2,] "cucumber"  "banana"    "banana" 
Run Code Online (Sandbox Code Playgroud)

产生上述结果的原始代码如下所示:

> eaten %>% group_by(person) %>% do(function(x) combn(x$foods, m = 2))
Error: Results are not data frames at positions: 1, 2
Run Code Online (Sandbox Code Playgroud)

尝试了几种使用do()函数的方法无济于事.

> eaten %>% group_by(person) %>% do(combn(.$foods, m …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

ggplot2 - 突出显示特定值

我有一个产品数据框和生产它们的时间(天):

test <- structure(list(product = c("prod.1", "prod.2", "prod.3", "prod.4", "prod.5",
"prod.6", "prod.7", "prod.8", "prod.9", "prod.10", "prod.11", "prod.12", "prod.13", 
"prod.14", "prod.15", "prod.16", "prod.17", "prod.18", "prod.19", "prod.20", "prod.21", 
"prod.22", "prod.23", "prod.24", "prod.25", "prod.26", "prod.27", "prod.28", "prod.29", 
"prod.30", "prod.31", "prod.32", "prod.33", "prod.34", "prod.35", "prod.36", "prod.37", 
"prod.38", "prod.39", "prod.40", "prod.41", "prod.42", "prod.43", "prod.44", "prod.45", 
"prod.46", "prod.47", "prod.48", "prod.49", "prod.50"), prodTime = c(4.03, 3.8, 3.75, 
3.74, 3.72, 3.7, 3.66, 3.66, 3.66, 3.64, 3.63, 3.63, 3.63, 3.6, 3.6, 3.58, 3.58, 3.58, 
3.57, 3.57, 3.57, 3.56, 3.56, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

0
推荐指数
1
解决办法
1044
查看次数

标签 统计

r ×4

dplyr ×2

data.table ×1

dataframe ×1

ggplot2 ×1