#r #list #dataframe
#r #Список #фрейм данных
Вопрос:
mydata <- structure(list(X1 = c(1, 1, 1, 1, 1, 1), X2 = c(1, 4, 4, 3, 2,
2), X3 = c(1, 2, 2, 3, 3, 3), X1 = c(-1, 1, 1, 1, -1, -1), X2 = c(1,
-1, -1, 1, -1, -1), X3 = c(1, -1, 1, 1, -1, -1)), class = "data.frame", row.names = c(NA,
-6L))
values <- data.frame(rbind(c(1, -3),
c(-99, 20),
c(1, 0),
c(0, 0),
c(-9, 0.3),
c(-99, 11)))
У меня есть 2 data.frame
с, mydata
, и values
. Оба data.frames имеют 6 строк. Сначала я хочу идентифицировать уникальные строки mydata
.
> mydata
X1 X2 X3 X1 X2 X3
1 1 1 1 -1 1 1
2 1 4 2 1 -1 -1
3 1 4 2 1 -1 1
4 1 3 3 1 1 1
5 1 2 3 -1 -1 -1
6 1 2 3 -1 -1 -1
Существует 5 уникальных групп:
#1 1 1 1 -1 1 1
#2 1 4 2 1 -1 -1
#3 1 4 2 1 -1 1
#4 1 3 3 1 1 1
#5 1 2 3 -1 -1 -1
Для каждой из этих 5 групп я хочу создать новый список длиной 5, по одному на уникальную группу, и сохранить соответствующие строки из values
.
> values
X1 X2
1 1 -3.0
2 -99 20.0
3 1 0.0
4 0 0.0
5 -9 0.3
6 -99 11.0
Таким образом, результирующий список может выглядеть так:
> mylist
[[1]]
[1] 1 -3.0
[[2]]
[1] -99 20.0
[[3]]
[1] 1 0.0
[[4]]
[1] 0 0.0
[[5]]
X1 X2
1 -9 0.3
2 -99 11.0
Ответ №1:
Вы можете вставить значения по строкам и найти уникальные группы, которые можно использовать для split
строк values
.
val <- do.call(paste, c(mydata, sep = '-'))
group <- match(val, unique(val))
split(values, group)
#
#r #list #dataframe
#r #Список #фрейм данных
Вопрос:
mydata <- structure(list(X1 = c(1, 1, 1, 1, 1, 1), X2 = c(1, 4, 4, 3, 2,
2), X3 = c(1, 2, 2, 3, 3, 3), X1 = c(-1, 1, 1, 1, -1, -1), X2 = c(1,
-1, -1, 1, -1, -1), X3 = c(1, -1, 1, 1, -1, -1)), class = "data.frame", row.names = c(NA,
-6L))
values <- data.frame(rbind(c(1, -3),
c(-99, 20),
c(1, 0),
c(0, 0),
c(-9, 0.3),
c(-99, 11)))
У меня есть 2 data.frame
с, mydata
, и values
. Оба data.frames имеют 6 строк. Сначала я хочу идентифицировать уникальные строки mydata
.
> mydata
X1 X2 X3 X1 X2 X3
1 1 1 1 -1 1 1
2 1 4 2 1 -1 -1
3 1 4 2 1 -1 1
4 1 3 3 1 1 1
5 1 2 3 -1 -1 -1
6 1 2 3 -1 -1 -1
Существует 5 уникальных групп:
#1 1 1 1 -1 1 1
#2 1 4 2 1 -1 -1
#3 1 4 2 1 -1 1
#4 1 3 3 1 1 1
#5 1 2 3 -1 -1 -1
Для каждой из этих 5 групп я хочу создать новый список длиной 5, по одному на уникальную группу, и сохранить соответствующие строки из values
.
> values
X1 X2
1 1 -3.0
2 -99 20.0
3 1 0.0
4 0 0.0
5 -9 0.3
6 -99 11.0
Таким образом, результирующий список может выглядеть так:
> mylist
[[1]]
[1] 1 -3.0
[[2]]
[1] -99 20.0
[[3]]
[1] 1 0.0
[[4]]
[1] 0 0.0
[[5]]
X1 X2
1 -9 0.3
2 -99 11.0
Ответ №1:
Вы можете вставить значения по строкам и найти уникальные группы, которые можно использовать для split
строк values
.
1`
# X1 X2
#1 1 -3
#
#r #list #dataframe
#r #Список #фрейм данных
Вопрос:
mydata <- structure(list(X1 = c(1, 1, 1, 1, 1, 1), X2 = c(1, 4, 4, 3, 2,
2), X3 = c(1, 2, 2, 3, 3, 3), X1 = c(-1, 1, 1, 1, -1, -1), X2 = c(1,
-1, -1, 1, -1, -1), X3 = c(1, -1, 1, 1, -1, -1)), class = "data.frame", row.names = c(NA,
-6L))
values <- data.frame(rbind(c(1, -3),
c(-99, 20),
c(1, 0),
c(0, 0),
c(-9, 0.3),
c(-99, 11)))
У меня есть 2 data.frame
с, mydata
, и values
. Оба data.frames имеют 6 строк. Сначала я хочу идентифицировать уникальные строки mydata
.
> mydata
X1 X2 X3 X1 X2 X3
1 1 1 1 -1 1 1
2 1 4 2 1 -1 -1
3 1 4 2 1 -1 1
4 1 3 3 1 1 1
5 1 2 3 -1 -1 -1
6 1 2 3 -1 -1 -1
Существует 5 уникальных групп:
#1 1 1 1 -1 1 1
#2 1 4 2 1 -1 -1
#3 1 4 2 1 -1 1
#4 1 3 3 1 1 1
#5 1 2 3 -1 -1 -1
Для каждой из этих 5 групп я хочу создать новый список длиной 5, по одному на уникальную группу, и сохранить соответствующие строки из values
.
> values
X1 X2
1 1 -3.0
2 -99 20.0
3 1 0.0
4 0 0.0
5 -9 0.3
6 -99 11.0
Таким образом, результирующий список может выглядеть так:
> mylist
[[1]]
[1] 1 -3.0
[[2]]
[1] -99 20.0
[[3]]
[1] 1 0.0
[[4]]
[1] 0 0.0
[[5]]
X1 X2
1 -9 0.3
2 -99 11.0
Ответ №1:
Вы можете вставить значения по строкам и найти уникальные группы, которые можно использовать для split
строк values
.
2`
# X1 X2
#2 -99 20
#
#r #list #dataframe
#r #Список #фрейм данных
Вопрос:
mydata <- structure(list(X1 = c(1, 1, 1, 1, 1, 1), X2 = c(1, 4, 4, 3, 2,
2), X3 = c(1, 2, 2, 3, 3, 3), X1 = c(-1, 1, 1, 1, -1, -1), X2 = c(1,
-1, -1, 1, -1, -1), X3 = c(1, -1, 1, 1, -1, -1)), class = "data.frame", row.names = c(NA,
-6L))
values <- data.frame(rbind(c(1, -3),
c(-99, 20),
c(1, 0),
c(0, 0),
c(-9, 0.3),
c(-99, 11)))
У меня есть 2 data.frame
с, mydata
, и values
. Оба data.frames имеют 6 строк. Сначала я хочу идентифицировать уникальные строки mydata
.
> mydata
X1 X2 X3 X1 X2 X3
1 1 1 1 -1 1 1
2 1 4 2 1 -1 -1
3 1 4 2 1 -1 1
4 1 3 3 1 1 1
5 1 2 3 -1 -1 -1
6 1 2 3 -1 -1 -1
Существует 5 уникальных групп:
#1 1 1 1 -1 1 1
#2 1 4 2 1 -1 -1
#3 1 4 2 1 -1 1
#4 1 3 3 1 1 1
#5 1 2 3 -1 -1 -1
Для каждой из этих 5 групп я хочу создать новый список длиной 5, по одному на уникальную группу, и сохранить соответствующие строки из values
.
> values
X1 X2
1 1 -3.0
2 -99 20.0
3 1 0.0
4 0 0.0
5 -9 0.3
6 -99 11.0
Таким образом, результирующий список может выглядеть так:
> mylist
[[1]]
[1] 1 -3.0
[[2]]
[1] -99 20.0
[[3]]
[1] 1 0.0
[[4]]
[1] 0 0.0
[[5]]
X1 X2
1 -9 0.3
2 -99 11.0
Ответ №1:
Вы можете вставить значения по строкам и найти уникальные группы, которые можно использовать для split
строк values
.
3`
# X1 X2
#3 1 0
#
#r #list #dataframe
#r #Список #фрейм данных
Вопрос:
mydata <- structure(list(X1 = c(1, 1, 1, 1, 1, 1), X2 = c(1, 4, 4, 3, 2,
2), X3 = c(1, 2, 2, 3, 3, 3), X1 = c(-1, 1, 1, 1, -1, -1), X2 = c(1,
-1, -1, 1, -1, -1), X3 = c(1, -1, 1, 1, -1, -1)), class = "data.frame", row.names = c(NA,
-6L))
values <- data.frame(rbind(c(1, -3),
c(-99, 20),
c(1, 0),
c(0, 0),
c(-9, 0.3),
c(-99, 11)))
У меня есть 2 data.frame
с, mydata
, и values
. Оба data.frames имеют 6 строк. Сначала я хочу идентифицировать уникальные строки mydata
.
> mydata
X1 X2 X3 X1 X2 X3
1 1 1 1 -1 1 1
2 1 4 2 1 -1 -1
3 1 4 2 1 -1 1
4 1 3 3 1 1 1
5 1 2 3 -1 -1 -1
6 1 2 3 -1 -1 -1
Существует 5 уникальных групп:
#1 1 1 1 -1 1 1
#2 1 4 2 1 -1 -1
#3 1 4 2 1 -1 1
#4 1 3 3 1 1 1
#5 1 2 3 -1 -1 -1
Для каждой из этих 5 групп я хочу создать новый список длиной 5, по одному на уникальную группу, и сохранить соответствующие строки из values
.
> values
X1 X2
1 1 -3.0
2 -99 20.0
3 1 0.0
4 0 0.0
5 -9 0.3
6 -99 11.0
Таким образом, результирующий список может выглядеть так:
> mylist
[[1]]
[1] 1 -3.0
[[2]]
[1] -99 20.0
[[3]]
[1] 1 0.0
[[4]]
[1] 0 0.0
[[5]]
X1 X2
1 -9 0.3
2 -99 11.0
Ответ №1:
Вы можете вставить значения по строкам и найти уникальные группы, которые можно использовать для split
строк values
.
4`
# X1 X2
#4 0 0
#
#r #list #dataframe
#r #Список #фрейм данных
Вопрос:
mydata <- structure(list(X1 = c(1, 1, 1, 1, 1, 1), X2 = c(1, 4, 4, 3, 2,
2), X3 = c(1, 2, 2, 3, 3, 3), X1 = c(-1, 1, 1, 1, -1, -1), X2 = c(1,
-1, -1, 1, -1, -1), X3 = c(1, -1, 1, 1, -1, -1)), class = "data.frame", row.names = c(NA,
-6L))
values <- data.frame(rbind(c(1, -3),
c(-99, 20),
c(1, 0),
c(0, 0),
c(-9, 0.3),
c(-99, 11)))
У меня есть 2 data.frame
с, mydata
, и values
. Оба data.frames имеют 6 строк. Сначала я хочу идентифицировать уникальные строки mydata
.
> mydata
X1 X2 X3 X1 X2 X3
1 1 1 1 -1 1 1
2 1 4 2 1 -1 -1
3 1 4 2 1 -1 1
4 1 3 3 1 1 1
5 1 2 3 -1 -1 -1
6 1 2 3 -1 -1 -1
Существует 5 уникальных групп:
#1 1 1 1 -1 1 1
#2 1 4 2 1 -1 -1
#3 1 4 2 1 -1 1
#4 1 3 3 1 1 1
#5 1 2 3 -1 -1 -1
Для каждой из этих 5 групп я хочу создать новый список длиной 5, по одному на уникальную группу, и сохранить соответствующие строки из values
.
> values
X1 X2
1 1 -3.0
2 -99 20.0
3 1 0.0
4 0 0.0
5 -9 0.3
6 -99 11.0
Таким образом, результирующий список может выглядеть так:
> mylist
[[1]]
[1] 1 -3.0
[[2]]
[1] -99 20.0
[[3]]
[1] 1 0.0
[[4]]
[1] 0 0.0
[[5]]
X1 X2
1 -9 0.3
2 -99 11.0
Ответ №1:
Вы можете вставить значения по строкам и найти уникальные группы, которые можно использовать для split
строк values
.
5`
# X1 X2
#5 -9 0.3
#6 -99 11.0
Комментарии:
1. Возможно ли отслеживать группы? т.Е. Называть каждый список соответствующей последовательностью?
1 1 1 -1 1 1
,1 4 2 1 -1 -1
, и т.д. Или каким-то другим способом, чтобы я знал, что есть что?2. Вы можете назначить
group
вектор своемуmydata
илиvalues
.mydata$group <- group
илиvalues$group <- group
.