我有一个大数据框架,在一个colum中有状态名称,在其他列中有不同的索引。我希望按状态子集,并创建一个适合于索引最小化的对象或数据帧,并且已经给出了计算结果。
这里有一个简单(简短)的例子
m
x y
1 A 1.0
2 A 2.0
3 A 1.5
4 B 3.0
5 B 3.5
6 C 7.0
我想要得到这个
m
x y
1 A 1.0
2 B 3.0
3 C 7.0
我不知道是否需要有for循环的函数。喜欢
minimize<-function(x,...)
for (i in m$x){
do something with data by factor value
我有以下数据框架,称为df,它是由三个向量组成的数据框架:“场景”、“名称”和“外观”。我想将“名称”在列表中的每一个实例的“外观”值相加,然后除以名称在列表中出现的次数。然后,我想从df中删除所有的行,其中的总数(总外观除以列表中名称的次数)小于2。
例如,在df中,除约翰和希特勒的值为(2+2)/2=2和(4+1/2)=2.5外,每个人的行都会被丢弃。
Scene Name Appearances
112 Hamlet 1
113 Zyklon 1
114 Hitler 4
115
我有一个csv文件,其中包含两个研究组的癌症数据:A和A随访(例如,治疗前后)。这些数据如下:
ID Ethnicity Study Group
45A Caucasian A
45B Caucasian A - follow up
68A Asian A
68B Asian A - follow up
族裔和研究组都是目前的因素。我想按研究小组的种族提取出总数,但我很难找到前进的道路。欢迎任
我在R中逐行绑定列表时遇到问题。我的列表数据集是:
id:1
data$k: 1
id k b c
1 1 1 3
----------------
data$k: 2
id k b c
1 2 1 4
--------------
id:2
data$k: 1
id k b c
2 1 1 6
----------------
data$k: 2
id k b c
2 2 5 10
我想要的是:
id k b c
1 1 1 3
1 2 1 4
2 1 1 6
2 2 5 10
谢谢!
这可能是一个重复,但我使用了各种不同的关键字,试图找到答案,但失败了。我想要做的是从一个数据框架中删除跨多个列的所有不匹配实例:
id = c(1,1,1,2,2,3,3,4,5,5)
type = c("a", "a", "b", "b", "b", "a", "b", "b", "a", "a")
df = data.frame(id,type)
id type
1 1 a
2 1 a
3 1
我有以下数据
> tmp
Genome value
1 a 1
2 b 2
3 c 3
4 a 3
5 b 3
6 c 2
我试过使用dcast,但没有做我想做的事情。我要下面的数据。
a b c
1 1 2 3
2 3 3 2
> dput(tmp)
structure(list(Genome = structure(c(1L, 2L, 3L, 1L, 2L, 3L), .Label = c("a",
"b", "
以下是我的数据
data
date number value
2016-05-05 1 5
2016-05-05 1 6
2016-05-06 2 7
2016-05-06 2 8
2016-05-07 3 9
2016-05-08 4 10
2016-05-09 5 11
当我使用以下命令时,
data %>% gr
下面的"do“函数给出了”想要“的结果。我认为我可以得到同样的使用不巢,但无法使它工作。
library(dplyr)
library(tidyr)
# Function rr is given
rr = function(x){
# This should be an expensive and possibly random function
r = range(x + rnorm(length(x),0.1))
# setNames(r, c("min", "max")) # fails, expecting single value
我的个人电脑似乎要慢下来总结如下:
library(plyr)
# Function for creating random n pseudowords of predefined length needed for colnames. Proposed by: http://ryouready.wordpress.com/2008/12
colnamesString <- function(n=10000, lenght=12) /18/generate-random-string-name/
{
randomString <- c(1:n)
我有一个带有2m+行的文件。
为了避免内存超载,我想以块的形式读取这些行,然后对块中的行执行进一步的处理。
我读到readLines是最快的,但是我找不到用readlines读取块的方法。
raw = readLines(target_file, n = 500)
但我想要的是有一个readLines的n = 501:1000。
raw = readLines(target_file, n = 501:1000)
在R中有办法做到这一点吗?
在制作一个数据位于多个columns.My数据集中的频率表时,我遇到了困难,其结构如下:
ID shape shape2 shape3 shape4 shape5
12 triangle rhombus circle square rectangle
68 hexagon NA NA NA NA
32 rectangle octagon square NA NA
18 square triangle NA
我有一个包含大约100个csv文件的文件夹,我想把它们读入R中的一个数据文件中,我有点知道如何做到这一点,但是我必须跳过每个csv文件中的前两列,这就是我被困在其中的部分。到目前为止我的代码是:
myfiles <- list.files(pattern = ".csv") # create a list of all csv files in the directory
data_csv <- ldply(myfiles, read.csv)
谢谢你的帮助
在加载了data.table包之后加载lubridate包时,会收到以下错误消息:
Loading required package: data.table
data.table 1.9.4 For help type: ?data.table
*** NB: by=.EACHI is now explicit. See README to restore previous behaviour.
Attaching package: ‘data.table’
The following objects are masked from ‘package:lubridate’:
hour,
我试图找到一种更符合R -风格的方法来选择R中组的第二个元素(但不是第一个元素)。
最后,我创建了一个索引rowNumIndex;2.在一个数据帧中选择和放置第一行,然后将前两行放在一个单独的数据帧中;然后是3。“反向合并”两个数据帧,以便从数据帧中获得与前两行相同的唯一值:
firsts <- ddply(df,.(group), function(x) head(x,1)) # 2 records using data below
seconds <- ddply(df,.(group), function(x) head(x,2)) # 4 records using da
我试着逐行比较来自dataframe d2的2列和来自dataframe d2的2列。为了说明这个问题,我创建了虚拟数据集: d1 <- data.frame(
a = c(1,2,3),
b = c(4,5,6)
)
d2 <- data.frame(
a = c(2,0,2),
b = c(5,5,6)
) 理想情况下,我希望标记d1中至少在d2的一行中找到匹配的所有行,因此所需的结果将是: data.frame(
a = c(1,2,3),
b = c(4,5,6),
flag = c(0,1,0)
) 这是我尝试过的: for (i in 1